X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fdec_osf.sh;h=fd7f479d2ab6e3a5838545e6e5c605dba4512df9;hb=33f01dd10fdacfa5ccb83c4f933cacb0f65b707e;hp=4ab535d005043e1c8f30a2e6f20faa3cfb066cc2;hpb=2bf2710fb209423d266a2adb28b5e7619a4b2c53;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 4ab535d..fd7f479 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -149,10 +149,19 @@ case "`uname -r`" in *) if $test "X$optimize" = "X$undef"; then lddlflags="$lddlflags -msym" else - lddlflags="$lddlflags $optimize -msym" + case "`sizer -v`" in + *4.0D*) + # QAR 56761: -O4 + .so may produce broken code, + # fixed in 4.0E or better. + ;; + *) + lddlflags="$lddlflags $optimize" + ;; + esac + # -msym: If using a sufficiently recent /sbin/loader, + # keep the module symbols with the modules. + lddlflags="$lddlflags -msym" fi - # -msym: If using a sufficiently recent /sbin/loader, - # keep the module symbols with the modules. ;; esac # Yes, the above loses if gcc does not use the system linker.