https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83816
--- Comment #18 from Oleg Endo <olegendo at gcc dot gnu.org> --- Created attachment 43196 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43196&action=edit binary compressed data I have tapped lto_end_compression and dumped the compressed binary data into a separate file. Compiling the whole thing with -save-temps will write the intermediate .o file. Comparing the binary data from lto_end_compression with the binary data in the .o file shows one byte difference at data offset 0x138A. It should be 0x3F but it is 0x31. Changing that single byte in the .o file and compiling it with LTO succeeds. So the problem is in writing the binary data to the ELF file. The RX target uses default_elf_asm_output_ascii from varasm.c to write the escaped strings. Since this is also used by other targets, I guess the chance of a bug there is low. I remember another case from the past, where RX binutils/GCC had problems interpreting each others' text. Maybe that's a problem here, too.