
On Tue, Oct 24, 2023 at 11:02:06AM -0700, Simon Glass wrote:
Hi Tom,
On Mon, 23 Oct 2023 at 10:28, Tom Rini trini@konsulko.com wrote:
On Mon, Oct 23, 2023 at 10:13:52AM -0700, Simon Glass wrote:
[snip]
BTW buildman supports -L which disabled LTO using the NO_LTO=1 option
I worry about putting sandbox-specific flags in buildman. Outside of sandbox, targets that enable LTO require LTO, just like any other CONFIG option.
Some problems with LTO and why I don't normally develop with it enabled:
- build time
- code moves around all over the place so it is hard to compare size growth
At least for my IDE flow, I use -L in most cases. Yes there are some boards which won't fit without LTO, but I don't see them much.
So this is mostly a dev convenience / productivity tool.
Yes, it does take longer to link. And yes, a more complex optimization does make some size tracking harder to understand (since growth or shrinkage allows for different optimizations to be made around it). But everything in configs/ that enables LTO needs LTO.