summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-08-05 11:18:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-10-23 23:14:17 +0100
commit4aa06e862270892b245b38cb30ad3efd5bc5f7fd (patch)
tree4aa3c0714466d148d89a24f5dbc2436f27d9c95e /meta/recipes-devtools
parent45ef46bb4c221ef04838b2cf8c01bc4b24f5fe26 (diff)
downloadpoky-4aa06e862270892b245b38cb30ad3efd5bc5f7fd.tar.gz
libtool: Fix lto option passing for reproducible builds
If lto is enabled, we need the prefix-map variables to be passed to the linker. Add these to the list of options libtool passes through. (From OE-Core rev: 3dcc84e37ce7e94e746304ee2a4437251af0ae41) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit 2c26d2c00b47df856fb2d9c35486b135094d46ac) Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r--meta/recipes-devtools/libtool/libtool-2.4.6.inc1
-rw-r--r--meta/recipes-devtools/libtool/libtool/lto-prefix.patch22
2 files changed, 23 insertions, 0 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-2.4.6.inc b/meta/recipes-devtools/libtool/libtool-2.4.6.inc
index e9225e140c..1bac81331d 100644
--- a/meta/recipes-devtools/libtool/libtool-2.4.6.inc
+++ b/meta/recipes-devtools/libtool/libtool-2.4.6.inc
@@ -23,6 +23,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
23 file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \ 23 file://0001-libtool-Check-for-static-libs-for-internal-compiler-.patch \
24 file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \ 24 file://0001-Makefile.am-make-sure-autoheader-run-before-autoconf.patch \
25 file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \ 25 file://0001-Makefile.am-make-sure-autoheader-run-before-automake.patch \
26 file://lto-prefix.patch \
26 " 27 "
27 28
28SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" 29SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e"
diff --git a/meta/recipes-devtools/libtool/libtool/lto-prefix.patch b/meta/recipes-devtools/libtool/libtool/lto-prefix.patch
new file mode 100644
index 0000000000..2bd010b8e4
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/lto-prefix.patch
@@ -0,0 +1,22 @@
1If lto is enabled, we need the prefix-map variables to be passed to the linker.
2Add these to the list of options libtool passes through.
3
4Upstream-Status: Pending
5Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6
7Index: libtool-2.4.6/build-aux/ltmain.in
8===================================================================
9--- libtool-2.4.6.orig/build-aux/ltmain.in
10+++ libtool-2.4.6/build-aux/ltmain.in
11@@ -5424,9 +5424,10 @@ func_mode_link ()
12 # --sysroot=* for sysroot support
13 # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
14 # -stdlib=* select c++ std lib with clang
15+ # -f*-prefix-map* needed for lto linking
16 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
17 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
18- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
19+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-f*-prefix-map*)
20 func_quote_for_eval "$arg"
21 arg=$func_quote_for_eval_result
22 func_append compile_command " $arg"