From: Khem Raj Date: Mon, 9 Nov 2020 00:02:10 +0000 (-0800) Subject: lto: Introduce LTOEXTRA variable X-Git-Tag: uninative-2.10~752 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=0a5778f40f0d1a252f38151a1d4103fa7cbe7796;p=openembedded-core.git 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 --- 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"