Menu

#15 -flto (Link-Time Optimizations) added

1.0
accepted
None
2014-10-13
2014-10-13
No

A new explicit option is now supported by the cross build plug-in.

It was introduced in the common "Optimizations" section, since it needs to be added both to compile and link lines.

The short story about this option is that the compiler generates a byte code representation of the program, and the linker further processes these byte codes, having a better view of the entire program.

Small changes were needed in the vectors_*.c files, to mark the vectors table used, otherwise the linker completely removed it).

Also the branch from Reset_Handler to _start was recoded as a long branch, to avoid a linker error.

Although hard to believe, this additional optimisation is effective, for example one of the STM32F407 test was reduced from 7481 to 7301 bytes.

Discussion