Adriaan van Os wrote:
Waldek Hebisch wrote:
Adriaan van Os wrote:
Waldek Hebisch wrote:
Yes, it is bug 16649. The following patch extracted from the bug report eliminated ICE. I still get duplicate labels, but I had to skip one hunk which did not apply:
I looks like the missing pieces of the puzzle can be found here http://gcc.gnu.org/ml/gcc-cvs/2004-07/msg01139.html.
As I wrote in the other message, 4.0 still has the same problem. So the above patch is of little help. On the other hand it makes substantial changes to PPC Darwin, which may be dangerous alone (the patch is to 4.0 branch).
I can reproduce the problem with a C program, so I reported it to backend folks:
It looks like the Apple gcc back-end folks now finally woke up http://gcc.gnu.org/ml/gcc-patches/2005-11/msg02158.html.
Yes, a quick hack to gcc-3.4.4 (included as a separate file), together with the below patch (my apologies), solves the remaining compiler problems for position independent code on i686-apple-darwin
--- gpc-options.h.orig Sat Nov 12 13:29:38 2005 +++ gpc-options.h Fri Dec 2 12:56:51 2005 @@ -85,10 +85,8 @@ "-fno-pedantic", "-ftyped-address", "-fassertions", -#ifdef TARGET_POWERPC #if TARGET_MACHO "-flongjmp-all-nonlocal-labels", -#endif #endif "-Wwarnings", "-Wimplicit-abstract",
[Darwin:gcc/p/test] adriaan% make rm -f *.dat *.o *.s *.i *.gpi *.gpd *.gpc core a.out stderr.out *.exe testmake.tmp dummy.c dummy.pas dummy.out diff_cr*.tmp fixcr fixcr.exe rm -f todo/a.out todo/*.exe todo/*.o todo/*.s todo/*.i todo/*.gpi todo/*.gpd todo/core GP= PC="gpc" PFLAGS=" --autobuild -g -O3 -W -Wall -Wno-unused " PFLAGS_NO_PATHS="-g -O3 -W -Wall -Wno-unused " SRCDIR="." TEST_MAKE_FLAG=test-make-flag "./test_run" "*.pas" | tee test_log | "./test_sum" -d Test Run By adriaan on 2005-12-02 12:18:53 Native configuration is i686-apple-darwin8 (Darwin.local)
=== gpc tests ===
Running target any Running testsuite ...
UNSUPPORTED: agettext2test.pas UNSUPPORTED: agettexttest.pas UNSUPPORTED: aregextest.pas UNSUPPORTED: fjf165a.pas UNSUPPORTED: gmptest.pas FAIL: systemtest.pas
=== gpc Summary ===
# of tests 4965 # of expected passes 4959 # of unexpected failures 1 # of unsupported tests 5
gpc version 20051104, based on gcc-3.4.4
Regards,
Adriaan van Os