https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119012
Bug ID: 119012
Summary: [riscv] Bootstrap comparison failure:
gcc/rust/rust-lex.o differs
Product: gcc
Version: 14.2.1
Status: UNCONFIRMED
Keywords: lto
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: rsworktech at outlook dot com
Target Milestone: ---
Host: riscv64-linux-gnu
Target: riscv64-linux-gnu
Build: riscv64-linux-gnu
I am building gcc 14.2.1+r730+gc061ad5a36ba-1 with gcc
14.2.1+r134+gab884fffe3fc-2
A bootstrap comparison failure occurred for gcc/rust/rust-lex.o.
Comparing stages 2 and 3
Bootstrap comparison failure!
gcc/rust/rust-lex.o differs
The configure options are here in this build script: https://paste.rs/578r4
And full build logs are available here:
-
https://github.com/user-attachments/files/18727269/gcc-14.2.1%2Br730%2Bgc061ad5a36ba-1-riscv64-prepare.log
-
https://github.com/user-attachments/files/18727277/gcc-14.2.1%2Br730%2Bgc061ad5a36ba-1-riscv64-build.log
Two rust-lex.o from stage 2 and stage 3:
https://github.com/user-attachments/files/18727282/rust-lex.zip
When rust is disabled, the bootstrap could succeed.
Output of diffoscope: https://repos.kxxt.dev/temp/diff.htm
The most different section is .gnu.lto_.jmpfuncs.1.
Other differences are mostly offsets and lto opts.
The diff of disasm of this section is too big to read:
Output from diff -u <(objdump --disassemble-all --section .gnu.lto_.jmpfuncs.1
rust-lex.2.o) <(objdump --disassemble-all --section .gnu.lto_.jmpfuncs.1
rust-lex.3.o) > diff.log
https://github.com/user-attachments/files/18749578/diff.log