https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100446
--- Comment #10 from R. Diez <rdiez-2006 at rd10 dot de> --- I haven't been able to test a largeish ELF file yet, I'll try to do it next week. But I just tested a small one, a demo ARM Cortex-M3 firmware called "QemuFirmware" from this project of mine: https://github.com/rdiez/DebugDue/ The generated .bin file is very small, around 10 kB I tested with the latest toolchain component versions: cross-compiler GCC 15.2, Binutils 2.45 and GDB 16.3. With -g3, as soon as I turn LTO on, the firmware.elf size decreases from 257,100 to 181,132 bytes, and GDB commands like "info macro assert" stop working. I am guessing that LTO drops the C preprocessor macros from the debugging information. If that is the case, it may be the reason why GDB shows now little performance difference between reading -g2 and -g3 ELF files. Do you think this issue about missing preprocessor macros should be placed into a separate one? Do you know if there is such a bug already?