Re: [OE-core] [PATCH v5 01/11] lto: Add global LTO distro policy file

Khem Raj
2020-11-09T19:15:14Z

On Mon, Nov 9, 2020 at 12:30 AM Andreas Müller <schnitzeltony@gmail.com> wrote:
>
> On Mon, Nov 9, 2020 at 1:02 AM Khem Raj <raj.khem@gmail.com> wrote:
> >
> > Distros which want to enable LTO can utilize this file, it only covers
> > packages from OE-Core, other layers should include there own exclusion
> > list for recipe which dont work with LTO
> >
> > Document the needed changes in local.conf.extended
> >
> Maybe I missed something but I haven't seen a word why I should want
> link time optimization. And from the patches I see here it seems we
> are about to create another contributor's burden.
>

Thanks for your feedback. LTO is quite beneficial for the kind of
images OE is targeting,
It results in smaller binaries and better optimizations as well. LTO
has been around for a while
in GCC but it is becoming useful with gcc10+ and more distros e.g.
Fedora/SuSE are also starting
to use LTO distro wide which means we will be able to reuse the
upstream work that's ongoing in
different packages. You can see there are patches already floating to
enable it for poky-tiny already
so OE userbase is already starting to use it. Moreover, its already
default for many packages themselves
so you might already be using it at package level e.g. systemd

This is similar to what we did for enabling security flags. As you
can see, these changes are currently optional. This means they won't
go into effect for
distros without them choosing to use it via DISTRO_FEATURES. Since it
takes a bit to get
such changes stable, we might keep it disabled by default for the next
release depending upon
how it pans out. Eventually, the plan is to enable it for poky/yocto distro.

As far as the contribution burden, I think it won't be a blocker until
it becomes one of the tested configurations
on yocto auto-builder.

Feel free to express if you have more concerns.

> Andreas