https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119012

--- Comment #24 from Levi Zim <rsworktech at outlook dot com> ---
(In reply to Sam James from comment #23)
> (In reply to Levi Zim from comment #11)
> > It comes with a similar pattern that .gnu.lto_.jmpfuncs.1 is the most
> > different section ignoring offset differences and lto opts.
> 
> ... then maybe related to PR119977 (would need the lto-dump -list -objects
> diff to be sure, see what I did over there).

Thanks. For this bug the size of .gnu.lto_.decls.1 is same but
.gnu.lto_.jmpfuncs.1 differs.

stage2-gcc/lto-dump -demangle -list -objects stage2-gcc/builtins.o >
stage2.ltodump
stage3-gcc/lto-dump -demangle -list -objects stage3-gcc/builtins.o >
stage3.ltodump

echo "Old size: $(cat stage2.ltodump | grep .gnu.lto_.decls.1 | awk -F' '
'{print $3}')"
echo "New size: $(cat stage3.ltodump | grep .gnu.lto_.decls.1 | awk -F' '
'{print $3}')"
Old size: 237166                                                                
New size: 237166

cat stage2.ltodump | tail +6 | sed '/^Type/Q' | sed 's/^[ \t]*//' | cut -d ' '
-f3- | awk '{print $3 "\t" $2}' > stage2.sections
cat stage3.ltodump | tail +6 | sed '/^Type/Q' | sed 's/^[ \t]*//' | cut -d ' '
-f3- | awk '{print $3 "\t" $2}' > stage3.sections
git diff --no-index stage{2,3}.sections

    diff --git a/stage2.sections b/stage3.sections
    index cd82f3d..7b56c8e 100644
    --- a/stage2.sections
    +++ b/stage3.sections
    @@ -3,7 +3,7 @@
    .gnu.lto_.icf.1        7366
    .gnu.lto_.ipa_sra.1    6364
    .gnu.lto_.inline.1     26107
    -.gnu.lto_.jmpfuncs.1   19482
    +.gnu.lto_.jmpfuncs.1   19469
    .gnu.lto_.pureconst.1  882
    .gnu.lto_.ipa_modref.1 3771
    .gnu.lto_.lto.1        8
    @@ -358,4 +358,4 @@
    .gnu.lto_.decls.1      237166
    .gnu.lto_.symtab.1     36223
    .gnu.lto_.ext_symtab.1 1115
    -.gnu.lto_.opts 331
    +.gnu.lto_.opts 330

../gcc14/contrib/compare-lto -p stage{2,3}-gcc/builtins.o                       

    stage2-gcc/builtins.o stage3-gcc/builtins.o differ: byte 41, line 1         
    stripping off LTO option section, then retrying                             
    stage2-gcc/builtins.o.stripped stage3-gcc/builtins.o.stripped differ: byte
41, line 1                                
    preserving stage2-gcc/builtins.o.stripped stage3-gcc/builtins.o.stripped   

And it seems that after some packaging changes(new gcc14 package with reduced
features compared to gcc:
https://gitlab.archlinux.org/archlinux/packaging/packages/gcc14/-/blob/main/PKGBUILD).
This bug always reproduces even if I revert the previously bisected commit :/

Reply via email to