Waldek Hebisch wrote:
Well, I was able build 3.3.6 based cross-compiler for i686-apple-darwin target, and I can see duplicate labels in the assembler output. It seems that 3.4.3 has changed the parts responsible for generating those labels. I have found that 3.4.[34] contain blatant bug with easy fix:
--- gcc-3.4.4/gcc/config/i386/darwin.h.orig Thu Jun 16 01:10:29 2005 +++ gcc-3.4.4/gcc/config/i386/darwin.h Thu Jun 16 01:10:32 2005 @@ -43,7 +43,7 @@
/* Use the following macro for any Darwin/x86-specific command-line option translation. */ -#define SUBTARGET_OPTION_TRANSLATE_TABLE +#define SUBTARGET_OPTION_TRANSLATE_TABLE { 0, 0 }
#define ASM_SPEC "-arch i386 \ %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \
Thanks for looking into this and for the patch. I had already been staring at the #define SUBTARGET_OPTION_TRANSLATE_TABLE.
After that I can build the compiler proper. However I get ICE when building gcc runtime. Trying gpc on knuth3.pas (to get assembler output) give me ICE. Both ICE-s seem related to generting labels needed in PIC code...
Is this related to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16649 ? I also found http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16557. I will try the patches included with those bug reports.
So, it seems that nobody tried gcc-3.4.x for i686-darwin for almost a year (ChangeLog entry for SUBTARGET_OPTION_TRANSLATE_TABLE change is from 2004-08-23)
Lars Sonchocky-Helldorf of the GNUStep project tried (I contacted him) and he reported some bugs.
Regards,
Adriaan van Os