1ltmain.in: Handle prefix-map compiler options correctly
2
3If lto is enabled, we need the prefix-map variables to be passed to the linker
4to correctly link the objects using correctly mapped paths.
5
6Add these to the list of options libtool passes through.
7
8* build-aux/ltmain.in: Handle prefix-map compiler options
9
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html
13https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00066.html
14Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=cdf4bf702f11d17e06569936e8a433a77f791228]
15
16---
17 build-aux/ltmain.in | 3 ++-
18 1 file changed, 2 insertions(+), 1 deletion(-)
19
20diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
21index 0a50f5b..037f009 100644
22--- a/build-aux/ltmain.in
23+++ b/build-aux/ltmain.in
24@@ -5413,11 +5413,12 @@ func_mode_link ()
25       # -stdlib=*            select c++ std lib with clang
26       # -fsanitize=*         Clang/GCC memory and address sanitizer
27       # -fuse-ld=*           Linker select flags for GCC
28+      # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
29       # -Wa,*                Pass flags directly to the assembler
30       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
31       -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
32       -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
33-      -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
34+      -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
35         func_quote_arg pretty "$arg"
36 	arg=$func_quote_arg_result
37         func_append compile_command " $arg"
38