https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81926

--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot 
Uni-Bielefeld.DE> ---
> --- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
[...]
> Rainer, do you test Go in this configuration (system as + ld)?

Sorry for the long delay: I've been mostly away for 6 weeks, only now
catching up.

I do indeed, and I believe this is not related to Go at all.

I've been seeing similar bootstrap comparison failures on Solaris/SPARC,
but only when using /bin/as.  I tend to forget about them since most of
my bootstraps are done with contrib/regression/btest-gcc.sh which mostly
hides them ;-(

I had analyzed this in the past already.  Here's what I found, and just
reconfirmed for the smallest differing file in a sparc-sun-solaris2.11
bootstrap, gcc/ada/table.o in my case:

* with -gtoggle (stage2), there's no .text section in the assembler
  output

* without -gtoggle (stage3), the assembler output gets

--- table.s.gtoggle     2017-08-28 14:07:23.811292680 +0000
+++ table.s.no-gtoggle  2017-08-28 14:08:00.674764535 +0000
@@ -1,4 +1,6 @@
        .file   "table.adb"
+       .section        ".text"
+.LLtext0:
        .global table_E
        .section        ".data"
        .align 2
@@ -6,4 +8,43 @@
        .size   table_E, 2
 table_E:
        .skip 2
+       .section        ".text"
+.LLetext0:

While gas always adds a .text section, even for an empty imput file,
/bin/as on sparc does not, thus the difference, although it causes no
functional change.

I'll be experimenting with a small patch to add a dummy .text section
from TARGET_ASM_FILE_START to work around this and see if it helps.

        Rainer

Reply via email to