https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120955
--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- (In reply to fiesh from comment #3) > Is there some other output, like nm or objdump, that could help? Not very helpful IMO. You can try the following steps: 1) It's unlikely that LTO is essential. Thus try without -flto and identify a module where the problem occurs. Non-LTO test cases are much simpler since they only require one module and compiling + assembling is enough. In your case, the issue can be seen with avr-size some-module.o. 2) Use a pre-compiled file (*.ii file with -save-temps). This removes dependencies from headers as all #-directives are resolved. 3) Simplify the test case, for example with creduce https://github.com/csmith-project/creduce (also available as install packages, depending on your OS). creduce may come up with results that throw tons of warnings, therefore use options like -Wall -Werror in the interestingness test. The output of creduce is obfuscated code, so running it on closed source input it usually no issue. creduce may take a while. Simplifying the test case by hand prior to step 2) can safe you some time.