This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] use -fno-pie on darwin in boehm-gc.exp



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]