[PATCH u-boot v2.1 38/38] ARM: enable LTO for some boards

Tim Harvey tharvey at gateworks.com
Tue Mar 16 01:56:24 CET 2021


On Mon, Mar 15, 2021 at 3:44 PM Marek Behun <marek.behun at nic.cz> wrote:
>
> On Fri, 12 Mar 2021 10:01:34 -0800
> Tim Harvey <tharvey at gateworks.com> wrote:
>
> > Marek / Heinrich,
> >
> > Yes, 'make -j1' does work.
> >
> > Tim
>
> Tim, could you try make -j8, but change the toplevel Makefile:
> find string "-flto=jobserver" and change it to "-flto".
>
> Does make -j8 fail then?
>
> Thank you.
>

Marek,

diff --git a/Makefile b/Makefile
index 9518ba4a32..20b27e6dd5 100644
--- a/Makefile
+++ b/Makefile
@@ -688,7 +688,7 @@ ifdef CONFIG_LTO
        ifeq ($(cc-name),clang)
                LTO_FINAL_LDFLAGS       += -flto
        else
-               LTO_FINAL_LDFLAGS       += -fuse-linker-plugin -flto=jobserver
+               LTO_FINAL_LDFLAGS       += -fuse-linker-plugin -flto

                # use plugin aware tools
                AR                      = $(CROSS_COMPILE)gcc-ar

make distclean imx8mm_venice_defconfig
make -j8 flash.bin

This now builds but the LTO steps do take noticeably several seconds
longer than without LTO (13 seconds without CONFIG_LTO vs 23 seconds
with) which is a bummer for development workflow.

You can of course play with building this as well... if you need me to
boot test something I can do that for you (and this does boot just
fine).

Best regards,

Tim


More information about the U-Boot mailing list