tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: gcc 16 bootstrap, stage 2 and 3 differ
On Sun, Aug 16, 2026 at 10:14:23PM +0100, RVP wrote:
> You'll have to remove one of the .o files from both directories, then fiddle
> with the Makefile (or create a wrapper) so that the `-v' flag gets passed to
> both gcc invocations. :(
I've deleted stage2 and stage3 c-decl.o, and passed 'V=1 VERBOSE=1' in
the MAKE_ARGS.
This gives me:
/tmp/lang/gcc16/work/build/./prev-gcc/xg++ -B/tmp/lang/gcc16/work/build/./prev-gcc/ -B/usr/pkg/gcc16/x86_64--netbsd/bin/ -nostdinc++ -B/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/src/.libs -B/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/libsupc++/.libs -I/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/include/x86_64--netbsd -I/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/include -I/tmp/lang/gcc16/work/gcc-16.1.0/libstdc++-v3/libsupc++ -L/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/src/.libs -L/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/libsupc++/.libs -fno-PIE -c -DIN_GCC_FRONTEND -g -O2 -fno-checking -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -fno-PIE -I. -Ic -I../../gcc-16.1.0/gcc -I../../gcc-16.1.0/gcc/c -I../../gcc-16.1.0/gcc/../include -I../../gcc-16.1.0/gcc/../libcpp/include -I../../gcc-16.1.0/gcc/../libcody -I/tmp/lang/gcc16/work/build/./gmp -I/tmp/lang/gcc16/work/gcc-16.1.0/gmp -I/tmp/lang/gcc16/work/build/./mpfr/src -I/tmp/lang/gcc16/work/gcc-16.1.0/mpfr/src -I/tmp/lang/gcc16/work/gcc-16.1.0/mpc/src -I../../gcc-16.1.0/gcc/../libdecnumber -I../../gcc-16.1.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-16.1.0/gcc/../libbacktrace -I/tmp/lang/gcc16/work/build/./isl/include -I/tmp/lang/gcc16/work/gcc-16.1.0/isl/include -I/usr/include -I/usr/pkg/include/libxml2 -o c/c-decl.o -MT c/c-decl.o -MMD -MP -MF c/.deps/c-decl.TPo ../../gcc-16.1.0/gcc/c/c-decl.cc
and
/tmp/lang/gcc16/work/build/./prev-gcc/xg++ -B/tmp/lang/gcc16/work/build/./prev-gcc/ -B/usr/pkg/gcc16/x86_64--netbsd/bin/ -nostdinc++ -B/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/src/.libs -B/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/libsupc++/.libs -I/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/include/x86_64--netbsd -I/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/include -I/tmp/lang/gcc16/work/gcc-16.1.0/libstdc++-v3/libsupc++ -L/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/src/.libs -L/tmp/lang/gcc16/work/build/prev-x86_64--netbsd/libstdc++-v3/libsupc++/.libs -fno-PIE -c -DIN_GCC_FRONTEND -g -O2 -fchecking=1 -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -fno-PIE -I. -Ic -I../../gcc-16.1.0/gcc -I../../gcc-16.1.0/gcc/c -I../../gcc-16.1.0/gcc/../include -I../../gcc-16.1.0/gcc/../libcpp/include -I../../gcc-16.1.0/gcc/../libcody -I/tmp/lang/gcc16/work/build/./gmp -I/tmp/lang/gcc16/work/gcc-16.1.0/gmp -I/tmp/lang/gcc16/work/build/./mpfr/src -I/tmp/lang/gcc16/work/gcc-16.1.0/mpfr/src -I/tmp/lang/gcc16/work/gcc-16.1.0/mpc/src -I../../gcc-16.1.0/gcc/../libdecnumber -I../../gcc-16.1.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-16.1.0/gcc/../libbacktrace -I/tmp/lang/gcc16/work/build/./isl/include -I/tmp/lang/gcc16/work/gcc-16.1.0/isl/include -I/usr/include -I/usr/pkg/include/libxml2 -o c/c-decl.o -MT c/c-decl.o -MMD -MP -MF c/.deps/c-decl.TPo ../../gcc-16.1.0/gcc/c/c-decl.cc
If you don't see the difference (I didn't), its:
-fno-checking
vs.
-fchecking=1
all the rest is the same.
> That's expected with `make bootstrap-debug' and shouldn't matter because the
> build should be using the `compare-debug' script in the source dir. to do the
> stage2 and stage3 cmps; and that *does* work:
>
> ```
> $ gcc -O2 -c -o x1.o /usr/src/bin/cat/cat.c # no debug
> $ gcc -ggdb -gdwarf-5 -O2 -c -o x2.o /usr/src/bin/cat/cat.c # DWARF-5 dbg
> $ ls -l x1.o x2.o
> -rw------- 1 rvp wheel 12336 Aug 16 22:05 x1.o
> -rw------- 1 rvp wheel 34568 Aug 16 22:05 x2.o
> $ ./gcc-16.2.0/contrib/compare-debug x1.o x2.o && echo OK
> OK
> $
> ```
>
> Is that script being used?
I guess not:
# ./work//gcc-16.1.0/contrib/compare-debug work/build/stage2-gcc/c/c-decl.o work/build/stage3-gcc/c/c-decl.o
# echo $?
0
vs. in the build log:
gmake[3]: Leaving directory '/tmp/lang/gcc16/work/build'
Comparing stages 2 and 3
warning: gcc/cobol/parse.o differs
Bootstrap comparison failure!
gcc/build/genoutput.o differs
gcc/build/gensupport.o differs
gcc/build/genrecog.o differs
gcc/build/genmatch.o differs
gcc/c/gimple-parser.o differs
gcc/c/c-typeck.o differs
gcc/c/c-parser.o differs
gcc/c/c-decl.o differs
gcc/cobol/except.o differs
...
Looking at the toplevel Makefile, the comparison uses
do-compare = cmp $$f1 $$f2 16 16
which is kind of expected since the configure script sets it to
do_compare="$gcc_cv_prog_cmp_skip"
Thomas
Home |
Main Index |
Thread Index |
Old Index