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.

Reply via email to