From 0a5778f40f0d1a252f38151a1d4103fa7cbe7796 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 8 Nov 2020 16:02:10 -0800 Subject: lto: Introduce LTOEXTRA variable Certain packages may need additional flags to enable LTO, therefore LTOEXTRA can be used to pass those flags Add -flto-partition=none for alsa-lib Signed-off-by: Khem Raj Signed-off-by: Richard Purdie --- meta/conf/distro/include/lto.inc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'meta/conf') diff --git a/meta/conf/distro/include/lto.inc b/meta/conf/distro/include/lto.inc index d7fea26c64..eb36b892ca 100644 --- a/meta/conf/distro/include/lto.inc +++ b/meta/conf/distro/include/lto.inc @@ -18,6 +18,13 @@ LTO_pn-libcap = "" LTO_pn-libproxy = "" LTO_pn-libbsd = "" +# Custom LTO flags +# disable partitioning/streaming algorithm since its uses ASM +# constructs not compatible with lto +LTOEXTRA_pn-alsa-lib = "-flto-partition=none" + +LTOEXTRA ?= "" + # Override it for additional or different options if needed e.g. # with clang thin-lto might be better for compile speed # @@ -29,9 +36,9 @@ LTO_pn-libbsd = "" # -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 " +LTO ?= "-flto -ffat-lto-objects -fuse-linker-plugin ${LTOEXTRA}" SELECTED_OPTIMIZATION_append = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" TARGET_LDFLAGS_append_class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'lto', ' ${LTO}', '', d)}" -SELECTED_OPTIMIZATION[vardeps] += "LTO" +SELECTED_OPTIMIZATION[vardeps] += "LTO LTOEXTRA" -- cgit 1.2.3-korg