https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97508
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> --- Then we end up with 2 copies of the compressed stream: $ cat good.txt y.o: file format elf64-x86-64 Contents of section .gnu.lto_.jmpfuncs.c09bc76fb7147437: 0000 28b52ffd 20116d00 00380500 01000000 (./. .m..8...... 0010 0001001b c002 ...... $ cat bad.txt y.o: file format elf64-x86-64 Contents of section .gnu.lto_.jmpfuncs.9e830355985c8f8c: 0000 28b52ffd 20116d00 00380500 01000000 (./. .m..8...... 0010 0001001b c00228b5 2ffd2011 6d000038 ......(./. .m..8 0020 05000100 00000001 001bc002 ............ Then we tell zstd section size and decompression fails as zstd frame header contains a smaller size.