From d20e270eccc8071a2ecf5f3f5274ce01a45d2f2a Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 8 Nov 2020 16:02:09 -0800 Subject: lto.inc: Add -ffat-lto-objects and -fuse-linker-plugin This helps to improve LTO and ensure the libs can be linked with non-LTO objects too (From OE-Core rev: 770c69c51f87223eee7bd968fd28a5dc15a955d6) Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/conf/distro/include/lto.inc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'meta/conf/distro') diff --git a/meta/conf/distro/include/lto.inc b/meta/conf/distro/include/lto.inc index fe0f6c9f44..d7fea26c64 100644 --- a/meta/conf/distro/include/lto.inc +++ b/meta/conf/distro/include/lto.inc @@ -20,7 +20,16 @@ LTO_pn-libbsd = "" # Override it for additional or different options if needed e.g. # with clang thin-lto might be better for compile speed -LTO ?= "-flto" +# +# ffat-lto-objects +# object files that contain both the intermediate +# language and the object code. This makes them +# usable for both LTO linking and normal linking +# +# -fuse-linker-plugin +# ensures that libraries participate in LTO by supplying intermediate +# code from .a files to linker +LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin " SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" -- cgit v1.2.3-54-g00ecf