Bug 124125 - [16 Regression] TestCGOLTO shows an ICE, lto1: error: qsort comparator non-negative on sorted outpu
Summary: [16 Regression] TestCGOLTO shows an ICE, lto1: error: qsort comparator non-ne...
Status: RESOLVED DUPLICATE of bug 113204
Alias: None
Product: gcc
Classification: Unclassified
Component: ipa (show other bugs)
Version: 16.0
: P3 normal
Target Milestone: 16.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-checking, ice-on-valid-code, lto
Depends on:
Blocks:
 
Reported: 2026-02-16 14:02 UTC by Matthias Klose
Modified: 2026-02-16 22:12 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Known to work: 15.2.1
Known to fail: 16.0
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Klose 2026-02-16 14:02:58 UTC
the TestCGOLTO fails with trunk mid December, and 20260210, on all architectures. seen when building the golang-NN packages:

--- FAIL: TestCGOLTO (0.04s)
    cgo_test.go:32: /<<PKGBUILDDIR>>/bin/go env CC: "gcc"
    cgo_test.go:32: /<<PKGBUILDDIR>>/bin/go env CGO_CFLAGS: "-O2 -g"
    --- FAIL: TestCGOLTO/0 (11.39s)
        cgo_test.go:123: CGO_CFLAGS="-O2 -g -flto" /<<PKGBUILDDIR>>/bin/go build
        cgo_test.go:125: # cgolto
            /<<PKGBUILDDIR>>/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
            /usr/bin/gcc -m64 -Wl,--build-id=0x49c95752cccaa7906e6bb93aa0f8421246386020 -o $WORK/b001/exe/a.out -Wl,--export-dynamic-symbol=_cgo_panic -Wl,--export-dynamic-symbol=_cgo_topofstack -Wl,--export-dynamic-symbol=crosscall2 -Wl,--export-dynamic-symbol=myadd -Wl,--compress-debug-sections=zlib /tmp/go-link-1004319805/go.o /tmp/go-link-1004319805/000000.o /tmp/go-link-1004319805/000001.o /tmp/go-link-1004319805/000002.o /tmp/go-link-1004319805/000003.o /tmp/go-link-1004319805/000004.o /tmp/go-link-1004319805/000005.o /tmp/go-link-1004319805/000006.o /tmp/go-link-1004319805/000007.o /tmp/go-link-1004319805/000008.o /tmp/go-link-1004319805/000009.o /tmp/go-link-1004319805/000010.o /tmp/go-link-1004319805/000011.o /tmp/go-link-1004319805/000012.o /tmp/go-link-1004319805/000013.o /tmp/go-link-1004319805/000014.o /tmp/go-link-1004319805/000015.o /tmp/go-link-1004319805/000016.o -O2 -g -O2 -g -lpthread -no-pie
            lto1: error: qsort comparator non-negative on sorted output: 10
            during IPA pass: static-var
            lto1: internal compiler error: qsort checking failed
            0x1ef52d0 internal_error(char const*, ...)
            	../../src/gcc/diagnostic-global-context.cc:787
            0x1ef5850 qsort_chk_error
            	../../src/gcc/vec.cc:272
            0x6ceadc qsort_chk(void*, unsigned long, unsigned long, int (*)(void const*, void const*, void*), void*)
            	../../src/gcc/vec.cc:314
            0x22ad426 gcc_sort_r(void*, unsigned long, unsigned long, int (*)(void const*, void const*, void*), void*)
            	../../src/gcc/sort.cc:296
            0x282aba0 vec<symtab_node*, va_heap, vl_embed>::sort(int (*)(void const*, void const*, void*), void*)
            	../../src/gcc/vec.h:1241
            0x282aba0 vec<symtab_node*, va_heap, vl_ptr>::sort(int (*)(void const*, void const*, void*), void*)
            	../../src/gcc/vec.h:2263
            0x282aba0 lto_output()
            	../../src/gcc/lto-streamer-out.cc:2879
            0xa8c022 write_lto
            	../../src/gcc/passes.cc:2793
            0xa7c36e ipa_write_optimization_summaries(lto_symtab_encoder_d*, bool)
            	../../src/gcc/passes.cc:2992
            0x2822384 stream_out
            	../../src/gcc/lto/lto.cc:181
            0x2822384 stream_out_partitions_1
            	../../src/gcc/lto/lto.cc:233
            0x2784de2 stream_out_partitions
            	../../src/gcc/lto/lto.cc:269
            0x2784de2 lto_wpa_write_files
            	../../src/gcc/lto/lto.cc:422
            0x2784de2 do_whole_program_analysis
            	../../src/gcc/lto/lto.cc:601
            0x2784de2 lto_main()
            	../../src/gcc/lto/lto.cc:675
            /usr/libexec/gcc/x86_64-linux-gnu/16/lto1 -quiet -dumpbase $WORK/b001/exe/a.wpa -m64 -mtune=generic -march=x86-64 -g -g -g -O2 -O2 -O2 -fno-openmp -fno-openacc -fPIC -fasynchronous-unwind-tables -fcf-protection=full -fltrans-output-list=/tmp/ccOlxtfR.ltrans.out -fwpa -fresolution=/tmp/ccwMSZW0.res -flinker-output=exec @/tmp/ccakbXAT
            Please submit a full bug report, with preprocessed source (by using -freport-bug).
            Please include the complete backtrace with any bug report.
            See <file:///usr/share/doc/gcc-16/README.Bugs> for instructions.
            lto-wrapper: fatal error: gcc returned 1 exit status
            compilation terminated.
            /usr/bin/x86_64-linux-gnu-ld.bfd: error: lto-wrapper failed
            collect2: error: ld returned 1 exit status
            
        cgo_test.go:128: go build failed: exit status 1
        cgo_test.go:146: failed
FAIL
FAIL	cmd/link	35.363s
Comment 1 Drea Pinski 2026-02-16 22:12:17 UTC
dup and not a regression.

*** This bug has been marked as a duplicate of bug 113204 ***