https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114505
Bug ID: 114505 Summary: static archives built with gcc --without-zstd cause ICE when read by gcc with zstd support Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto Assignee: unassigned at gcc dot gnu.org Reporter: eschwartz93 at gmail dot com Target Milestone: --- Created attachment 57824 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57824&action=edit build log FAILED: glib/libglib-2.0.so.0.7800.4 x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -o glib/libglib-2.0.so.0.7800.4 glib/libglib-2.0.so.0.7800.4.p/deprecated_gallocator.c.o glib/libglib-2.0.so.0.7800.4.p/deprecated_gcache.c.o glib/libglib-2.0.so.0.7800 .4.p/deprecated_gcompletion.c.o glib/libglib-2.0.so.0.7800.4.p/deprecated_grel.c.o glib/libglib-2.0.so.0.7800.4.p/deprecated_gthread-deprecated.c.o glib/libglib-2.0.so.0.7800.4.p/garcbox.c.o glib/libglib-2.0.so. 0.7800.4.p/garray.c.o glib/libglib-2.0.so.0.7800.4.p/gasyncqueue.c.o glib/libglib-2.0.so.0.7800.4.p/gatomic.c.o glib/libglib-2.0.so.0.7800.4.p/gbacktrace.c.o glib/libglib-2.0.so.0.7800.4.p/gbase64.c.o glib/libgl ib-2.0.so.0.7800.4.p/gbitlock.c.o glib/libglib-2.0.so.0.7800.4.p/gbookmarkfile.c.o glib/libglib-2.0.so.0.7800.4.p/gbytes.c.o glib/libglib-2.0.so.0.7800.4.p/gcharset.c.o glib/libglib-2.0.so.0.7800.4.p/gchecksum.c .o glib/libglib-2.0.so.0.7800.4.p/gconvert.c.o glib/libglib-2.0.so.0.7800.4.p/gdataset.c.o glib/libglib-2.0.so.0.7800.4.p/gdate.c.o glib/libglib-2.0.so.0.7800.4.p/gdatetime.c.o glib/libglib-2.0.so.0.7800.4.p/gdi r.c.o glib/libglib-2.0.so.0.7800.4.p/genviron.c.o glib/libglib-2.0.so.0.7800.4.p/gerror.c.o glib/libglib-2.0.so.0.7800.4.p/gfileutils.c.o glib/libglib-2.0.so.0.7800.4.p/ggettext.c.o glib/libglib-2.0.so.0.7800.4. p/ghash.c.o glib/libglib-2.0.so.0.7800.4.p/ghmac.c.o glib/libglib-2.0.so.0.7800.4.p/ghook.c.o glib/libglib-2.0.so.0.7800.4.p/ghostutils.c.o glib/libglib-2.0.so.0.7800.4.p/giochannel.c.o glib/libglib-2.0.so.0.780 0.4.p/gkeyfile.c.o glib/libglib-2.0.so.0.7800.4.p/glib-init.c.o glib/libglib-2.0.so.0.7800.4.p/glib-private.c.o glib/libglib-2.0.so.0.7800.4.p/glist.c.o glib/libglib-2.0.so.0.7800.4.p/gmain.c.o glib/libglib-2.0. so.0.7800.4.p/gmappedfile.c.o glib/libglib-2.0.so.0.7800.4.p/gmarkup.c.o glib/libglib-2.0.so.0.7800.4.p/gmem.c.o glib/libglib-2.0.so.0.7800.4.p/gmessages.c.o glib/libglib-2.0.so.0.7800.4.p/gnode.c.o glib/libglib -2.0.so.0.7800.4.p/goption.c.o glib/libglib-2.0.so.0.7800.4.p/gpathbuf.c.o glib/libglib-2.0.so.0.7800.4.p/gpattern.c.o glib/libglib-2.0.so.0.7800.4.p/gpoll.c.o glib/libglib-2.0.so.0.7800.4.p/gprimes.c.o glib/lib glib-2.0.so.0.7800.4.p/gqsort.c.o glib/libglib-2.0.so.0.7800.4.p/gquark.c.o glib/libglib-2.0.so.0.7800.4.p/gqueue.c.o glib/libglib-2.0.so.0.7800.4.p/grand.c.o glib/libglib-2.0.so.0.7800.4.p/grcbox.c.o glib/libgl ib-2.0.so.0.7800.4.p/grefcount.c.o glib/libglib-2.0.so.0.7800.4.p/grefstring.c.o glib/libglib-2.0.so.0.7800.4.p/gregex.c.o glib/libglib-2.0.so.0.7800.4.p/gscanner.c.o glib/libglib-2.0.so.0.7800.4.p/gsequence.c.o glib/libglib-2.0.so.0.7800.4.p/gshell.c.o glib/libglib-2.0.so.0.7800.4.p/gslice.c.o glib/libglib-2.0.so.0.7800.4.p/gslist.c.o glib/libglib-2.0.so.0.7800.4.p/gstdio.c.o glib/libglib-2.0.so.0.7800.4.p/gstrfuncs.c .o glib/libglib-2.0.so.0.7800.4.p/gstring.c.o glib/libglib-2.0.so.0.7800.4.p/gstringchunk.c.o glib/libglib-2.0.so.0.7800.4.p/gstrvbuilder.c.o glib/libglib-2.0.so.0.7800.4.p/gtestutils.c.o glib/libglib-2.0.so.0.7 800.4.p/gthread.c.o glib/libglib-2.0.so.0.7800.4.p/gthreadpool.c.o glib/libglib-2.0.so.0.7800.4.p/gtimer.c.o glib/libglib-2.0.so.0.7800.4.p/gtimezone.c.o glib/libglib-2.0.so.0.7800.4.p/gtrace.c.o glib/libglib-2. 0.so.0.7800.4.p/gtranslit.c.o glib/libglib-2.0.so.0.7800.4.p/gtrashstack.c.o glib/libglib-2.0.so.0.7800.4.p/gtree.c.o glib/libglib-2.0.so.0.7800.4.p/guniprop.c.o glib/libglib-2.0.so.0.7800.4.p/gutf8.c.o glib/lib glib-2.0.so.0.7800.4.p/gunibreak.c.o glib/libglib-2.0.so.0.7800.4.p/gunicollate.c.o glib/libglib-2.0.so.0.7800.4.p/gunidecomp.c.o glib/libglib-2.0.so.0.7800.4.p/guri.c.o glib/libglib-2.0.so.0.7800.4.p/gutils.c.o glib/libglib-2.0.so.0.7800.4.p/guuid.c.o glib/libglib-2.0.so.0.7800.4.p/gvariant.c.o glib/libglib-2.0.so.0.7800.4.p/gvariant-core.c.o glib/libglib-2.0.so.0.7800.4.p/gvariant-parser.c.o glib/libglib-2.0.so.0.780 0.4.p/gvariant-serialiser.c.o glib/libglib-2.0.so.0.7800.4.p/gvarianttypeinfo.c.o glib/libglib-2.0.so.0.7800.4.p/gvarianttype.c.o glib/libglib-2.0.so.0.7800.4.p/gversion.c.o glib/libglib-2.0.so.0.7800.4.p/gwakeu p.c.o glib/libglib-2.0.so.0.7800.4.p/gprintf.c.o glib/libglib-2.0.so.0.7800.4.p/glib-unix.c.o glib/libglib-2.0.so.0.7800.4.p/gspawn.c.o glib/libglib-2.0.so.0.7800.4.p/giounix.c.o glib/libglib-2.0.so.0.7800.4.p/g journal-private.c.o glib/libglib-2.0.so.0.7800.4.p/gthread-posix.c.o -flto -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libglib-2.0.so.0 -march=x86-64-v3 -O2 -pipe -Werror=odr - Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs glib/libcharset/libcharset.a -Wl,-z,nodelete -Wl,-Bsymbolic-functions -lm /usr/lib/libsysprof-capture-4.a -pth read /usr/lib/libpcre2-8.so -Wl,--end-group lto1: internal compiler error: original not compressed with zstd 0x1abe950 internal_error(char const*, ...) ???:0 0xa07c44 lto_end_uncompression(lto_compression_stream*, lto_compression) ???:0 0xa021ea lto_get_section_data(lto_file_decl_data*, lto_section_type, char const*, int, unsigned long*, bool) ???:0 0x7301ad cgraph_node::get_untransformed_body() ???:0 0x73ed9a cgraph_node::expand() ???:0 0x6ab38a lto_main() ???:0 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions. make: *** [/var/tmp/portage/dev-libs/glib-2.78.4-r1/temp/ccd4PAIc.mk:41: /var/tmp/portage/dev-libs/glib-2.78.4-r1/temp/ccQNyd3y.ltrans13.ltrans.o] Error 1 make: *** Waiting for unfinished jobs.... lto-wrapper: fatal error: make returned 2 exit status compilation terminated. /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed collect2: error: ld returned 1 exit status This is not ideal. If the original was not compressed with zstd then the compiler should decompress it with zlib instead. This issue showed up on Gentoo when compiling the system with LTO, then enabling the zstd option and rebuilding gcc, then attempting to build more programs.