Gale Paeper wrote:
Adriaan, in case it helps and if you decide to remain with a gcc 3.4.5 base for the new compiler build, the jump instructions causing all the assembler errors all seems to be the "jmp %edx" instructions used in each ".picsymbol_stub" code block. Due to lack of familiarity with the backend code generation code and not enough time available to figure out what the proper code fix was, I abandoned trying to fix the root cause of the assembler indirect jump error messages and went with using Waldek's suggestion to use an older as assembler version. (I'll also note your Mac OS X GPC sources package was a big help in getting a running start on getting gpc-20060325 built for Mac OS X.)
The problem is fixed by the following patch (https://svn.cv.nrao.edu/view/dports/branches/intel/lang/g77/files/i386_c.patch?view=markup&pathrev=229)
--- gcc/config/i386/i386.c.orig 2004-02-06 14:43:30.000000000 -0500 +++ gcc/config/i386/i386.c 2007-02-26 15:21:52.000000000 -0500 @@ -14363,7 +14363,7 @@ { fprintf (file, "\tcall LPC$%d\nLPC$%d:\tpopl %%eax\n", label, label); fprintf (file, "\tmovl %s-LPC$%d(%%eax),%%edx\n", lazy_ptr_name, label); - fprintf (file, "\tjmp %%edx\n"); + fprintf (file, "\tjmp *%%edx\n"); } else fprintf (file, "\tjmp *%s\n", lazy_ptr_name);
Regards,
Adriaan van Os