https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113319
Bug ID: 113319 Summary: Random LTO test failures Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: marxin at gcc dot gnu.org Target Milestone: --- For GCC configured for more than one ABIs, I got random LTO test failures, like FAIL: gcc.dg/vect/vect-early-break-run_5.c -flto -ffat-lto-objects (test for excess errors) FAIL: gcc.dg/vect/vect-early-break-run_6.c -flto -ffat-lto-objects (test for excess errors) FAIL: gcc.dg/vect/vect-early-break-run_7.c -flto -ffat-lto-objects (test for excess errors) /usr/local/bin/ld: i386:x64-32 architecture of input file `./vect-early-break-run_5.ltrans0.ltrans.o' is incompatible with i386:x86-64 output collect2: error: ld returned 1 exit status compiler exited with status 1 FAIL: gcc.dg/vect/vect-early-break-run_5.c -flto -ffat-lto-objects (test for excess errors) Excess errors: /usr/local/bin/ld: i386:x64-32 architecture of input file `./vect-early-break-run_5.ltrans0.ltrans.o' is incompatible with i386:x86-64 output The problem is that with $ make check RUNTESTFLAGS="--target_board='unix{-m32,-mx32,}'" the same LTO test may run at the same time for different ABIs. In this case, they are -m64 and -mx32. Since the same IR filenames are used for both runs, we can get conflicts at random.