Frank Scheiner via Gcc <[email protected]> writes: > Hi again, > > for reference the testsuite results for gcc-16-20251214 are on [1]: > > [1]: https://gcc.gnu.org/pipermail/gcc-testresults/2025-December/865397.html > > ...the results for GCC 15.1.0 are on [2]: > > [2]: https://gcc.gnu.org/pipermail/gcc-testresults/2025-August/855566.html > > ## LTO ## > > First I'd like to point you to some issues regarding LTO during the > testsuite run. The bootstrap was configured w/o LTO: > > ``` > configure flags: --prefix=/usr --libdir=/usr/lib --mandir=/usr/man > --infodir=/usr/info --enable-shared --enable-bootstrap > --enable-languages=c,c++ --enable-threads=posix > --enable-checking=release --with-system-zlib > --enable-libstdcxx-dual-abi --with-default-libstdcxx-abi=new > --disable-libstdcxx-pch --disable-libunwind-exceptions > --enable-__cxa_atexit --disable-libssp --enable-gnu-indirect-function > --enable-gnu-unique-object --enable-plugin --disable-lto
Is there a particular reason you're doing this? --disable-lto disables LTO support and the LTO "frontend". --enable-lto will not mean a bootstrap is done with LTO (i.e. --with-build-config=bootstrap-lto). > --disable-install-libiberty --disable-werror --with-gnu-ld --with-isl > --verbose --with-arch-directory=ia64 --disable-gtktest > --enable-clocale=gnu --disable-multilib --target=ia64-t2-linux-gnu > --build=ia64-t2-linux-gnu --host=ia64-t2-linux-gnu > ``` > > ...but looking into the testsuite log, (some) LTO tests are still done: > > ``` > [...] > /dev/shm/gcc-16-20251214/gcc.build.lnx/./prev-gcc/xgcc > -B/dev/shm/gcc-16-20251214/gcc.build.lnx/./prev-gcc/ > -B/usr/ia64-t2-linux-gnu/bin/ -B/usr/ia64-t2-linux-gnu/bin/ > -B/usr/ia64-t2-linux-gnu/lib/ -isystem /usr/ia64-t2-linux-gnu/include > -isystem /usr/ia64-t2-linux-gnu/sys-include -DHAVE_CONFIG_H > -I. -I../../libbacktrace -I ../../libbacktrace/../include -I > ../../libbacktrace/../libgcc -I ../libgcc -funwind-tables > -frandom-seed=btest_lto-btest.o -W -Wall -Wwrite-strings > -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition > -Wmissing-format-attribute -Wcast-qual -Wno-attributes -Wpointer-arith > -g -O -flto -g -O2 -c -o btest_lto-btest.o `test -f 'btest.c' || echo > '../../libbacktrace/'`btest.c > cc1: error: LTO support has not been enabled in this configuration The libbacktrace tests don't use dejagnu so they don't have `dg-require-effective-target lto` or some equivalent. > make[3]: *** [Makefile:1604: btest_lto-btest.o] Error 1 > /dev/shm/gcc-16-20251214/gcc.build.lnx/./prev-gcc/xgcc > -B/dev/shm/gcc-16-20251214/gcc.build.lnx/./prev-gcc/ > -B/usr/ia64-t2-linux-gnu/bin/ -B/usr/ia64-t2-linux-gnu/bin/ > -B/usr/ia64-t2-linux-gnu/lib/ -isystem /usr/ia64-t2-linux-gnu/include > -isystem /usr/ia64-t2-linux-gnu/sys-include -DHAVE_CONFIG_H > -I. -I../../libbacktrace -I ../../libbacktrace/../include -I > ../../libbacktrace/../libgcc -I ../libgcc -funwind-tables > -frandom-seed=btest_lto-testlib.o -W -Wall -Wwrite-strings > -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition > -Wmissing-format-attribute -Wcast-qual -Wno-attributes -Wpointer-arith > -g -O -flto -g -O2 -c -o btest_lto-testlib.o `test -f 'testlib.c' || > echo '../../libbacktrace/'`testlib.c > cc1: error: LTO support has not been enabled in this configuration > make[3]: *** [Makefile:1610: btest_lto-testlib.o] Error 1 > [...] > make[3]: Target 'btest_lto' not remade because of errors. > [...] > ``` > > Fortunately this was ignored during the testsuite run, so it kept going > despite these errors, though of course these resulted in failing tests: > > ``` > FAIL: c-c++-common/guality/Og-dce-1.c -Og -flto (test for excess errors) > FAIL: c-c++-common/guality/Og-dce-2.c -Og -flto (test for excess errors) > [...] > FAIL: c-c++-common/guality/Og-dce-3.c -Og -flto (test for excess errors) > [...] > FAIL: c-c++-common/guality/Og-global-dse-1.c -Og -flto (test for excess > errors) > [...] > FAIL: c-c++-common/guality/Og-static-wo-1.c -Og -flto (test for excess > errors) > [...] > FAIL: c-c++-common/guality/Og-dce-3.c -Og -flto (test for excess errors) > [...] > FAIL: c-c++-common/guality/Og-global-dse-1.c -Og -flto (test for excess > errors) > [...] > FAIL: c-c++-common/guality/Og-static-wo-1.c -Og -flto (test for excess > errors) > [...] > FAIL: c-c++-common/guality/Og-dce-1.c -Og -flto (test for excess errors) > FAIL: c-c++-common/guality/Og-dce-2.c -Og -flto (test for excess errors) > [...] > ``` > > I wonder, is LTO considered a default? Or should these tests actually > not run for a non-LTO config? > The guality ones look like missing dg-require-effective-target lto. > > ## Other errors ## > > There are also other errors present, but comparing to the testsuite log > for GCC 15.2.0 (I don't have one for GCC 15.1.0 thanks to a typo :-() > these are not new for gcc-16-20251214: > > ``` > # ( date; time make -k -j9 check 2>&1; echo $?; date ) 2>&1 | tee <LOGFILE> > [...] > make[2]: Entering directory > '/dev/shm/gcc-16-20251214/gcc.build.lnx/fixincludes' > autogen -T ../../fixincludes/check.tpl ../../fixincludes/inclhack.def > make[2]: Entering directory '/dev/shm/gcc-16-20251214/gcc.build.lnx/gcc' > make[2]: autogen: No such file or directory autogen is a required test dependency for the fixincludes tests. > make[2]: *** [Makefile:180: check] Error 127 > make[2]: Leaving directory > '/dev/shm/gcc-16-20251214/gcc.build.lnx/fixincludes' > [...] > make[1]: *** [Makefile:4215: check-fixincludes] Error 2 > [...] > ## here be the lto errors from above > [...] > make[3]: Leaving directory > '/dev/shm/gcc-16-20251214/gcc.build.lnx/libbacktrace' > make[2]: *** [Makefile:2519: check-am] Error 2 > make[2]: Target 'check' not remade because of errors. > make[2]: Leaving directory > '/dev/shm/gcc-16-20251214/gcc.build.lnx/libbacktrace' > make[1]: *** [Makefile:7907: check-libbacktrace] Error 2 > [...] > make[1]: Leaving directory '/dev/shm/gcc-16-20251214/gcc.build.lnx' > make: *** [Makefile:2692: do-check] Error 2 > make: Target 'check' not remade because of errors. > > real 400m57.482s > user 2907m2.725s > sys 156m12.341s > 2 > [...] > ``` > > ## Comparison of testsuite results ## > > Last a comparison between GCC 15.1.0 (left) and gcc-16-20251214 > (right) results: > > ``` > === g++ Summary === > > # of expected passes 232298 245668 > # of unexpected failures 162 282 > # of unexpected successes 3 > # of expected failures 2138 2188 > # of unresolved testcases 5 5 > # of unsupported tests 2228 2221 > > > === gcc Summary === > > # of expected passes 143723 146675 > # of unexpected failures 1064 1161 > # of unexpected successes 18 23 > # of expected failures 1369 1413 > # of unresolved testcases 22 13 > # of unsupported tests 3536 3686 > > > === libatomic Summary === > > # of expected passes 54 54 > > > === libgomp Summary === > > # of expected passes 5792 6064 > # of unexpected failures 3 3 > # of expected failures 47 47 > # of unsupported tests 405 479 > > > === libstdc++ Summary === > > # of expected passes 18162 19243 > # of unexpected failures 9 245 > # of expected failures 131 140 > # of unresolved testcases 2 > # of unsupported tests 740 786 > ``` > > Overall this looks like an improvement to me. Although the number of > unexpected failures for libstdc++ increased dramatically. But the number > of expected passes - where they increased - increased more than the > number of failures. > > Cheers, > Frank
signature.asc
Description: PGP signature
