You can tell that it does not get passed -fPIC by the following failure in the testsuite: Executing on host: /Users/pinskia/src/new-fold/gcc/objdir/gcc/xgcc -B/Users/pinskia/src/new-fold/ gcc/objdir/gcc/ /Users/pinskia/src/new-fold/gcc/gcc/testsuite/treelang/execute/funccall.tree -lm -o ./funccall.exe (timeout = 300) /usr/bin/ld: /var/tmp//ccbSoNBy.o has external relocation entries in non-writable section (__TEXT,__text) for symbols:^M _abort^M _exit^M collect2: ld returned 1 exit status^M compiler exited with status 1 output is: /usr/bin/ld: /var/tmp//ccbSoNBy.o has external relocation entries in non-writable section (__TEXT,__text) for symbols:^M_abort^M _exit^M collect2: ld returned 1 exit status^M FAIL: treelang/execute/funccall.tree (test for excess errors) Excess errors: /usr/bin/ld: /var/tmp//ccbSoNBy.o has external relocation entries in non-writable section (__TEXT,__text) for symbols: _abort _exit With -v I get: /Users/pinskia/src/new-fold/gcc/objdir/gcc/tree1 -quiet -dumpbase funccall.tree -v -o /var/tmp// ccLOPtCF.s /Users/pinskia/src/new-fold/gcc/gcc/testsuite/treelang/execute/funccall.tree
I am about to post a patch for this one.
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02391.html>.
Subject: Bug 20604 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2005-04-01 15:01:31 Modified files: gcc/treelang : ChangeLog lang-specs.h Log message: 2005-04-01 Andrew Pinski <pinskia@physics.uc.edu> PR treelang/20604 * lang-spec.c: Simplify @treelang to what the other languages do. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/treelang/ChangeLog.diff?cvsroot=gcc&r1=1.120&r2=1.121 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/treelang/lang-specs.h.diff?cvsroot=gcc&r1=1.3&r2=1.4
Fixed.
*** Bug 23061 has been marked as a duplicate of this bug. ***
well... the patch applies cleanly still on the 4.0 branch... I sure would love to see this applied there also... unfortunately, I see it does not apply to the 3.4 branch...
This patch is OK for the 4.0 branch, if someone wants to go ahead and apply it there. It's not a major priority, since treelang is not one of the primary languages, but it's OK to apply it.
well, applied to 4.0, works fine, one FAIL in -m64: === treelang tests === Running target unix/-m64 FAIL: gcc 01 01 rc!=0 === treelang Summary for unix/-m64 === # of expected passes 46 # of unexpected failures 1 Running target unix === treelang Summary for unix === === treelang Summary === # of expected passes 46 # of unexpected failures 1 Compiler version: 4.0.2 20050809 (prerelease) Platform: sparc64-unknown-linux-gnu configure flags: --enable-__cxa_atexit --enable-shared --with-cpu=v7 --enable-languages=c,ada,c++,f95,java,objc,treelang Now, could we also have the patch from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23072 I'd be even more pleased :)
Created attachment 9461 [details] Translation of pinskia's lang-specs.h patch for mainline to the 4.0 branch...
Created attachment 9467 [details] Translation of pinskia's lang-specs.h patch for mainline to the 3.4 branch...