https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85994
--- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot > Uni-Bielefeld.DE> --- >> --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- >> (In reply to Rainer Orth from comment #0) >>> I see several possible fixes: >>> >>> * Just compile those files with -g0: there's probably no point in gas adding >>> debug info anyway. >>> >>> * Restrict the cpp -P workaround to non-gas. >>> >>> * Autoconf assembler # <line> support and only pass -P to cpp if really >>> needed. >>> >>> Suggestions? >> >> The last two work for me. > > Unless there are other comments, I'll go for the third option. I tried that, to no avail: * The original Solaris 10/x86 as (version s10_73) cannot even assemble mov %r15,-0x70(%rax) It seems it doesn't recognize any amd64 register names. * The first as to support line markers (from patch 119961-03) breaks in the 64-bit libgcc: Assembler: unwind-c.c "/var/tmp//ccFLB9of.s", line 127 : Illegal subtraction - symbols from different sections: ".L23", ".L25" make[5]: *** [/vol/gcc/src/hg/trunk/local/libgcc/shared-object.mk:14: unwind-c.o] Error 1 Unlike the current Solaris 10/x86 as, HAVE_AS_IX86_DIFF_SECT_DELTA isn't defined in gcc/auto-host.h. Given that neither assembler is usable to bootstrap current gcc, with or without passing -P to cpp and nobody cared, I've chosen just to always omit -P to fix the comparison failure. Will install patch shortly.