summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-11-08 16:02:10 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-11-11 10:04:34 +0000
commit0a5778f40f0d1a252f38151a1d4103fa7cbe7796 (patch)
tree2c50d8745e7cd334142bfef50c44c272b7e358af
parent770c69c51f87223eee7bd968fd28a5dc15a955d6 (diff)
downloadopenembedded-core-contrib-0a5778f40f0d1a252f38151a1d4103fa7cbe7796.tar.gz
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 <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/distro/include/lto.inc11
1 files changed, 9 insertions, 2 deletions
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"