Hi there, I want to try lto with GCC 9.3.1 in my project. Following errors occurred during linking:
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s: Assembler messages:
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5153: use of r13 is deprecated
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:4978: Error: offset out of range
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5008: Error: offset out of range
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5053: Error: offset out of range
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5144: Error: offset out of range
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5238: Error: offset out of range
C:\Users\m\AppData\Local\Temp\ccWVuCMs.s:5280: Error: offset out of range
lto-wrapper.exe: fatal error: c:\sysgcc\arm-eabi\bin\arm-none-eabi-g++.exe returned 1 exit status
c:/sysgcc/arm-eabi/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld.exe: error: lto-wrapper failed
Build failed: arm-none-eabi-g++.exe exited with code 1
collect2.exe: error: ld returned 1 exit status
I compile all libs with -flto option and using the gcc-ar linker.
Any help or hints would be appreciated.
Sorry, this looks like a bug of the gcc compiler and not a VisualGDB-specific issue.
Our best advice would be to try reproducing it in a command-line build (if you are using MSBuild, you can configure it via VS Project Properties to create a .bat file with all build commands) and try posting in the GCC mailing list.
Another option would be to try using the Keil or IAR compiler instead of GCC. VisualGDB supports both of them and they generally provide a better optimization than GCC, and come with their own support.