Currently the boehm-gc testsuite fails... FAIL: boehm-gc.c/gctest.c -O2 execution test FAIL: boehm-gc.c/leak_test.c -O2 execution test FAIL: boehm-gc.c/thread_leak_test.c -O2 execution test FAIL: boehm-gc.lib/staticrootstest.c -O2 execution test
on x86_64-apple-darwin11 due to the -pie linker default. The attached patch uses -fno-pie on darwin to insure that -no_pie is passed to the linker when targeting darwin11 or later. This approach is used because istarget doesn't support complex regex to allow -Wl,-no_pie to be passed for darwin11 and later only (since only recent Xcode releases understand the -no_pie linker option). Also, -fno_pie has the advantage of supporting -mmacosx-version-min usage. Regression tested on x86_64-apple-darwin11... http://gcc.gnu.org/ml/gcc-testresults/2011-12/msg00856.html Okay for gcc trunk? Jack boehm-gc/ 2011-12-08 Jack Howarth <howa...@bromo.med.uc.edu> * testsuite/lib/boehm-gc.exp: Use -fno-pie on darwin. Index: boehm-gc/testsuite/lib/boehm-gc.exp =================================================================== --- boehm-gc/testsuite/lib/boehm-gc.exp (revision 182117) +++ boehm-gc/testsuite/lib/boehm-gc.exp (working copy) @@ -214,6 +214,11 @@ proc boehm-gc_target_compile { source de lappend options "additional_flags=-I${gc_include} -I${srcdir}/../include" lappend options "additional_flags=${threadcflags}" + # Disable -pie linker default for darwin11 and later using -fno-pie. + if { [istarget *-*-darwin*] } { + lappend options "additional_flags=-fno-pie" + } + lappend options "libs=-Wc,-shared-libgcc" if { [file extension $dest] == ".la" } {