https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81926
--- Comment #12 from Dennis Clarke <dclarke at blastwave dot org> --- I don't mean to ask what may seem obvious but does it make sense to add a not required "dummy .text" section? I mean to say, is there a valid reason why gas would add in a blank ".text" where none is actually required? Also, as a follow up, I did actually get a full three stage bootstrap of 7.2.0 while using --enable-languages=ada,c,c++,fortran,go,lto,objc,obj-c++. This surprised me however at this point I had already installed the previous 7.2.0 build and also did specify --enable-stage1-languages=c,c++ to get a minimal stage1 compiler. The test results looked like : https://gcc.gnu.org/ml/gcc-testresults/2017-08/msg02494.html I question those results because neither the bootstrap nor the testsuite would complete without a strange error at the last moment. The bootstrap will fail because of a complaint for "missing-objcopy" in stage 3 thus : libtool: compile: /usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008/./gcc/gccgo -B/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008/./gcc/ -B/usr/local/gcc7/sparc64-sun-solaris2.10/bin/ -B/usr/local/gcc7/sparc64-sun-solaris2.10/lib/ -isystem /usr/local/gcc7/sparc64-sun-solaris2.10/include -isystem /usr/local/gcc7/sparc64-sun-solaris2.10/sys-include -O2 -g -I . -c -fgo-pkgpath=runtime/internal/atomic -fgo-compiling-runtime ../../../gcc-7.2.0/libgo/go/runtime/internal/atomic/gccgo.go ../../../gcc-7.2.0/libgo/go/runtime/internal/atomic/stubs.go -o runtime/internal/atomic.o >/dev/null 2>&1 f=`echo runtime/internal/atomic.lo | sed -e 's/.lo$/.o/'`; missing-objcopy -j .go_export $f runtime/internal/atomic.s-gox.tmp; /usr/local/bin/bash ../../../gcc-7.2.0/libgo/mvifdiff.sh runtime/internal/atomic.s-gox.tmp `echo runtime/internal/atomic.s-gox | sed -e 's/s-gox/gox/'` /usr/local/bin/bash: missing-objcopy: command not found mv: cannot access runtime/internal/atomic.s-gox.tmp gmake[4]: *** [Makefile:3331: runtime/internal/atomic.s-gox] Error 2 gmake[4]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008/sparc64-sun-solaris2.10/libgo' gmake[3]: *** [Makefile:2746: all-recursive] Error 1 gmake[3]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008/sparc64-sun-solaris2.10/libgo' gmake[2]: *** [Makefile:1344: all] Error 2 gmake[2]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008/sparc64-sun-solaris2.10/libgo' gmake[1]: *** [Makefile:23963: all-target-libgo] Error 2 gmake[1]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.008' gmake: *** [Makefile:28139: bootstrap] Error 2 The testsuite fails with a strange error also : === libatomic Summary === # of expected passes 54 gmake[4]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic/testsuite' gmake[3]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic/testsuite' gmake[3]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic' /usr/local/bin/gmake DO=all multi-do # /usr/local/bin/gmake gmake[4]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic' if [ -z "sparcv8plus" ]; then \ true; \ else \ rootpre=`${PWDCMD-pwd}`/; export rootpre; \ srcrootpre=`cd ../../../gcc-7.2.0/libatomic; ${PWDCMD-pwd}`/; export srcrootpre; \ lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \ compiler="/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/./gcc/xgcc -B/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/./gcc/ -B/usr/local/gcc7/sparc64-sun-solaris2.10/bin/ -B/usr/local/gcc7/sparc64-sun-solaris2.10/lib/ -isystem /usr/local/gcc7/sparc64-sun-solaris2.10/include -isystem /usr/local/gcc7/sparc64-sun-solaris2.10/sys-include "; \ for i in `${compiler} --print-multi-lib 2>/dev/null`; do \ dir=`echo $i | sed -e 's/;.*$//'`; \ if [ "${dir}" = "." ]; then \ true; \ else \ if [ -d ../${dir}/${lib} ]; then \ flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \ if (cd ../${dir}/${lib}; /usr/local/bin/gmake \ CFLAGS="-g -O2 ${flags}" \ CCASFLAGS="-g -O2 ${flags}" \ FCFLAGS=" ${flags}" \ FFLAGS=" ${flags}" \ ADAFLAGS=" ${flags}" \ prefix="/usr/local/gcc7" \ exec_prefix="/usr/local/gcc7" \ GOCFLAGS="-O2 -g ${flags}" \ CXXFLAGS="-g -O2 ${flags}" \ LIBCFLAGS="-g -O2 ${flags}" \ LIBCXXFLAGS="-g -O2 -fno-implicit-templates ${flags}" \ LDFLAGS=" ${flags}" \ MULTIFLAGS="${flags}" \ DESTDIR="" \ INSTALL="/usr/local/build/gcc-7.2.0/install-sh -c" \ INSTALL_DATA="/usr/local/build/gcc-7.2.0/install-sh -c -m 644" \ INSTALL_PROGRAM="/usr/local/build/gcc-7.2.0/install-sh -c" \ INSTALL_SCRIPT="/usr/local/build/gcc-7.2.0/install-sh -c" \ all); then \ true; \ else \ exit 1; \ fi; \ else true; \ fi; \ fi; \ done; \ fi gmake[5]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' /usr/local/bin/gmake all-recursive gmake[6]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' Making all in testsuite gmake[7]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic/testsuite' gmake[7]: Nothing to be done for 'all'. gmake[7]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic/testsuite' gmake[7]: Entering directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' true DO=all multi-do # /usr/local/bin/gmake gmake[7]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' gmake[6]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' gmake[5]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/sparcv8plus/libatomic' gmake[4]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic' gmake[3]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic' gmake[2]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009/sparc64-sun-solaris2.10/libatomic' gmake[1]: Target 'check-target' not remade because of errors. gmake[1]: Leaving directory '/usr/local/build/gcc-7.2.0_SunOS5.10_sparc64vii+.009' gmake: *** [Makefile:2280: do-check] Error 2 gmake: Target 'check' not remade because of errors. d$ It is hard to know what to trust in the results of the bootstrap or the testsuite when I see both processes terminate with errors and yet they seem to do so in the very last gasp. In stage3 ? That surprised me.