diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-08-05 11:18:20 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-23 23:14:17 +0100 |
| commit | 4aa06e862270892b245b38cb30ad3efd5bc5f7fd (patch) | |
| tree | 4aa3c0714466d148d89a24f5dbc2436f27d9c95e | |
| parent | 45ef46bb4c221ef04838b2cf8c01bc4b24f5fe26 (diff) | |
| download | poky-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>
| -rw-r--r-- | meta/recipes-devtools/libtool/libtool-2.4.6.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/libtool/libtool/lto-prefix.patch | 22 |
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 | ||
| 28 | SRC_URI[md5sum] = "addf44b646ddb4e3919805aa88fa7c5e" | 29 | SRC_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 @@ | |||
| 1 | If lto is enabled, we need the prefix-map variables to be passed to the linker. | ||
| 2 | Add these to the list of options libtool passes through. | ||
| 3 | |||
| 4 | Upstream-Status: Pending | ||
| 5 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
| 6 | |||
| 7 | Index: 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" | ||
