On 8 Dec 2011, at 15:38, Jack Howarth wrote:

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

you have not answered these questions:

a) "what is anything being built in these tests which is not PIC"?
b) and why is it being built that way?

ISTM the fix below should not be required
- and the problem lies in something being built with -mdynamic-no-pic or similar

- that is what we should fix.
cheers
Iain


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" } {

Reply via email to