https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112782
Bug ID: 112782 Summary: [14 Regression] stage2/3 differs when compiled with -mfix-r5900 on mips Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: immoloism at googlemail dot com Target Milestone: --- While testing GCC-14 support in Gentoo I have found an interesting issue where GCC no longer builds correctly when setting -mfix-r5900. With the help of Sam James we have confirmed this causes the error in the stage 2 and 3 checks however I have been unable to find where this breakage started so far and can only confirm there is no issue using the flag with versions 12 and 13. To reproduce: (sorry for vague steps but I normally use portage to manage this) Setup a MIPS install (cross compiling does not hit the issue) Set CFLAGS to "-Os -march=mips3 -mabi=32 -mplt -pipe -mfix-r5900" Compile GCC14 as normal Error: Comparing stages 2 and 3 Bootstrap comparison failure! gcc/spellcheck.o differs gcc/tree-data-ref.o differs gcc/asan.o differs gcc/pointer-query.o differs gcc/tree-ssa-math-opts.o differs gcc/lto/lto-common.o differs gcc/lto/lto-partition.o differs gcc/tree-vectorizer.o differs gcc/gimple-range-op.o differs gcc/dwarf2out.o differs gcc/gimple-match-4.o differs gcc/gimple-ssa-warn-restrict.o differs gcc/tree-chrec.o differs gcc/function.o differs gcc/tree-vect-loop-manip.o differs gcc/tree-vrp.o differs gcc/gimple-array-bounds.o differs gcc/generic-match-2.o differs gcc/tree-vect-patterns.o differs gcc/gimple-match-5.o differs gcc/simplify-rtx.o differs gcc/tree-vect-data-refs.o differs gcc/tree-vect-slp.o differs gcc/tree-ssa-alias.o differs gcc/ipa-fnsummary.o differs gcc/tree.o differs gcc/tree-scalar-evolution.o differs gcc/splay-tree-utils.o differs gcc/lto-streamer-in.o differs gcc/fortran/trans-array.o differs gcc/fortran/trans-intrinsic.o differs gcc/fortran/interface.o differs gcc/fortran/frontend-passes.o differs gcc/fortran/openmp.o differs gcc/fortran/trans-common.o differs gcc/fortran/parse.o differs gcc/vr-values.o differs gcc/predict.o differs gcc/var-tracking.o differs gcc/mips.o differs gcc/gimple-walk.o differs gcc/tree-switch-conversion.o differs gcc/tree-ssa-loop-prefetch.o differs gcc/optabs.o differs gcc/rtl-ssa/accesses.o differs gcc/omp-offload.o differs gcc/tree-ssa-phiopt.o differs gcc/symtab.o differs gcc/gimple-match-7.o differs gcc/value-range.o differs gcc/tree-ssa-operands.o differs gcc/sel-sched-ir.o differs gcc/tree-ssa-sink.o differs gcc/tree-ssa-reassoc.o differs gcc/analyzer/region-model.o differs gcc/analyzer/checker-path.o differs gcc/analyzer/program-point.o differs gcc/analyzer/sm-file.o differs gcc/analyzer/region.o differs gcc/analyzer/call-details.o differs gcc/analyzer/diagnostic-manager.o differs gcc/analyzer/sm-fd.o differs gcc/analyzer/sm-malloc.o differs gcc/analyzer/record-layout.o differs gcc/analyzer/constraint-manager.o differs gcc/analyzer/program-state.o differs gcc/analyzer/access-diagram.o differs gcc/analyzer/infinite-recursion.o differs gcc/analyzer/call-summary.o differs gcc/analyzer/engine.o differs gcc/analyzer/store.o differs gcc/analyzer/supergraph.o differs gcc/analyzer/feasible-graph.o differs gcc/tree-cfg.o differs gcc/gimple-match-6.o differs gcc/tree-inline.o differs gcc/tree-ssa-ccp.o differs gcc/haifa-sched.o differs gcc/input.o differs gcc/loop-init.o differs gcc/gcov.o differs gcc/cfgrtl.o differs gcc/ipa-utils.o differs gcc/gimple-ssa-warn-access.o differs gcc/combine.o differs gcc/wide-int.o differs gcc/tree-vect-loop.o differs gcc/gimple-match-8.o differs gcc/passes.o differs gcc/cfg.o differs gcc/ipa-devirt.o differs gcc/tree-ssa-dom.o differs gcc/final.o differs gcc/tree-ssa-loop-unswitch.o differs gcc/read-md.o differs gcc/text-art/styled-string.o differs gcc/text-art/widget.o differs gcc/text-art/style.o differs gcc/text-art/table.o differs gcc/gimple-match-2.o differs gcc/generic-match-5.o differs gcc/tree-ssa-threadedge.o differs gcc/fold-const.o differs gcc/varasm.o differs gcc/modulo-sched.o differs gcc/omp-low.o differs gcc/tree-pretty-print.o differs gcc/gimplify.o differs gcc/gimple-range-path.o differs gcc/cgraphunit.o differs gcc/generic-match-4.o differs gcc/print-rtl.o differs gcc/sched-deps.o differs gcc/gimple-ssa-strength-reduction.o differs gcc/gimple-match-3.o differs gcc/gimple-fold.o differs gcc/df-core.o differs gcc/dwarf2cfi.o differs gcc/tree-ssa-loop-niter.o differs gcc/gimple-match-10.o differs gcc/tree-ssa-uncprop.o differs gcc/gimple-match-9.o differs gcc/build/print-rtl.o differs gcc/build/genmatch.o differs gcc/build/genrecog.o differs gcc/build/read-md.o differs gcc/c-family/c-common.o differs gcc/c-family/c-omp.o differs gcc/c-family/c-warn.o differs gcc/value-range-storage.o differs gcc/tree-eh.o differs gcc/gimple-match-1.o differs gcc/gimple-predicate-analysis.o differs gcc/tree-ssa-loop-ch.o differs gcc/tree-if-conv.o differs gcc/ordered-hash-map-tests.o differs gcc/tree-ssa-strlen.o differs gcc/gimple-streamer-out.o differs gcc/tree-dfa.o differs gcc/tree-predcom.o differs gcc/early-remat.o differs gcc/tree-ssa-ifcombine.o differs gcc/ipa-inline.o differs gcc/gimple-loop-interchange.o differs gcc/ipa-cp.o differs gcc/cp/cp-gimplify.o differs gcc/cp/decl.o differs gcc/cp/parser.o differs gcc/cp/semantics.o differs gcc/cp/constraint.o differs gcc/cp/tree.o differs gcc/cp/error.o differs gcc/cp/typeck.o differs gcc/cp/decl2.o differs gcc/cp/rtti.o differs gcc/expmed.o differs gcc/sanopt.o differs gcc/trans-mem.o differs gcc/c/c-decl.o differs gcc/c/c-parser.o differs gcc/targhooks.o differs gcc/tree-ssa-threadbackward.o differs gcc/gimple.o differs gcc/ipa-prop.o differs gcc/tree-ssa-sccvn.o differs gcc/range-op.o differs libcody/server.o differs libcpp/files.o differs libcpp/macro.o differs libcpp/lex.o differs libiberty/pic/simple-object-mach-o.o differs libiberty/simple-object.o differs libiberty/simple-object-mach-o.o differs make[2]: *** [Makefile:22598: compare] Error 1 make[1]: *** [Makefile:22578: stage3-bubble] Error 2 make: *** [Makefile:22652: bootstrap-lean] Error 2 I'll include the stage 2 and 3 spellcheck.o files as well. I can provide a clean qemu-user image to aid in testing this if it is helpful so it can be reproduced on a x86_64 machine.