libtool: Update prefixmap and clang patches to match upstream submission

The patches were submitted upstream and adjusted after discussion. Update to match
the changes requested.

(From OE-Core rev: d7644baaf99b5593b356c395b232088436ae2e30)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-01-17 08:36:09 +00:00
parent 3742a45c0e
commit 776b1aab12
2 changed files with 38 additions and 24 deletions

View File

@@ -1,21 +1,26 @@
From: Khem Raj <raj.khem@gmail.com>
Subject: [PATCH] ltmain.in: Parse additional clang options
ltmain.in: Parse additional clang options
clang uses -rtlib and --unwindlib to select proper compiler runtime in
some cases. There fore pass these options to linker when found in
clang uses -rtlib and --unwindlib to select proper compiler
runtime in some cases. Therefore pass these options to linker when found in
ldflags
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* build-aux/ltmain.in: Handle clang linker options
Index: libtool-2.4.7/build-aux/ltmain.in
===================================================================
--- libtool-2.4.7.orig/build-aux/ltmain.in
+++ libtool-2.4.7/build-aux/ltmain.in
@@ -5420,10 +5420,12 @@ func_mode_link ()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00110.html]
---
build-aux/ltmain.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 037f009..ba5c816 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5414,10 +5414,12 @@ func_mode_link ()
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
# -f*-prefix-map* needed for lto linking
# -f{file|debug|macro|profile}-prefix-map* needed for lto linking
+ # -rtlib=* select c runtime lib with clang
+ # --unwindlib=* select unwinder library with clang
# -Wa,* Pass flags directly to the assembler
@@ -23,6 +28,6 @@ Index: libtool-2.4.7/build-aux/ltmain.in
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*|-rtlib=*|--unwindlib=*| \
-specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
-specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result

View File

@@ -1,28 +1,37 @@
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Subject: [PATCH 11/12] ltmain.in: Handle prefix-map compiler options correctly
ltmain.in: Handle prefix-map compiler options correctly
If lto is enabled, we need the prefix-map variables to be passed to the linker
to correctly link the objects using correctly mapped paths.
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.
* build-aux/ltmain.in: Handle prefix-map compiler options
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html]
https://lists.gnu.org/archive/html/libtool-patches/2021-10/msg00019.html
https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00066.html
Upstream-Status: Submitted [https://lists.gnu.org/archive/html/libtool-patches/2024-01/msg00109.html]
Index: libtool-2.4.7/build-aux/ltmain.in
===================================================================
--- libtool-2.4.7.orig/build-aux/ltmain.in
+++ libtool-2.4.7/build-aux/ltmain.in
@@ -5419,11 +5419,12 @@ func_mode_link ()
---
build-aux/ltmain.in | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 0a50f5b..037f009 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5413,11 +5413,12 @@ func_mode_link ()
# -stdlib=* select c++ std lib with clang
# -fsanitize=* Clang/GCC memory and address sanitizer
# -fuse-ld=* Linker select flags for GCC
+ # -f*-prefix-map* needed for lto linking
+ # -f{file|debug|macro|profile}-prefix-map* needed for lto linking
# -Wa,* Pass flags directly to the assembler
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
- -specs=*|-fsanitize=*|-fuse-ld=*|-Wa,*)
+ -specs=*|-fsanitize=*|-fuse-ld=*|-f*-prefix-map*|-Wa,*)
+ -specs=*|-fsanitize=*|-fuse-ld=*|-ffile-prefix-map=*|-fdebug-prefix-map=*|-fmacro-prefix-map=*|-fprofile-prefix-map=*|-Wa,*)
func_quote_arg pretty "$arg"
arg=$func_quote_arg_result
func_append compile_command " $arg"