I've seen this in other reports, but it seems to have been marked as `fixed' as of 3.0.x, and still seems to be broken in 4.1.2.
Using the Solaris `as', as opposed to `gas', `make bootstrap' fails with "/var/tmp//cc3fLwsc.s", line 338 : Illegal subtraction - symbols from different sections: ".L52", ".L61" make[3]: *** [libgcc/amd64/unwind-dw2.o] Error 1 The offending assembler is 334 .section .rodata 335 .align 4 336 .align 4 337 .L61: 338 .long .L52-.L61 ... 350 .long .L60-.L61 351 .text 352 .L52: -- Summary: Illegal subtraction - symbols from different sections with Solaris as Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Rob dot McMahon at warwick dot ac dot uk GCC build triplet: i386-pc-solaris2.10 GCC host triplet: i386-pc-solaris2.10 GCC target triplet: i386-pc-solaris2.10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31713