[Bug bootstrap/125598] [16/17 regression] Comparing stages 2 and 3 with -with-build-config=bootstrap-O3
"sjames at gcc dot gnu.org via Gcc-bugs" <[email protected]>
| Newsgroups | gmane.comp.gcc.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125598
Sam James <sjames at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=126526
CC| |sjames at gcc dot gnu.org
--- Comment #8 from Sam James <sjames at gcc dot gnu.org> ---
(In reply to 伊泽平 from comment #7)
> I also got this compare failure boostraping GCC 16.2, with GCC 15.1 or 16.1
> used in building stage 1. Only `.debug_loclists` section differs between
> stage 2/3; all other sections are the same.
>
> It seems that 3 conditions are required to trigger this bootstrap issue:
> * macro ENABLE_GC_CHECKING=1 in building stage 1 but =0 in building stage
> 2/3
> * default C++ std used in building stage 2/3 is c++20
> * debug sections are generated and compared
> For a released GCC 16, condition 1/2 are naturally met, and the build config
> plays a role in enabling condition 3: any build config that do not
> explicitly disable comparing debug info, e.g. an empty config.
>
> With these 3 conditions set, GCC 15.2 also got bootstrap compare failure;
> changing either condition(e.g. write "experimental" to `gcc/DEV-PHASE` so
> that ENABLE_GC_CHECKING=1 in all 3 stages, or explicitly inject `-std=c++17`
> into stage 2/3 flags, or do not give a --with-build-config so that the
> default `bootstrap-debug` config which do explicitly disable comparing debug
> info), the compare failures disappear. To reproduce this compare failure in
> the master branch, do:
>
> echo "" > gcc/DEV-PHASE
> echo "" > config/empty.mk
> mkdir -p build && cd build && ../configure $OTHER_ARGS
> --with-build-config=empty
With empty BUILD_CONFIG, it's likely PR126526. I don't know if OP's issue is
the same or not though.