diff options
-rw-r--r-- | recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch | 27 | ||||
-rw-r--r-- | recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch | 27 |
2 files changed, 39 insertions, 15 deletions
diff --git a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch index f280da2..6f61a3c 100644 --- a/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch +++ b/recipes-devtools/clang/clang/0006-clang-driver-Check-sysroot-for-ldso-path.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 710a936d66011859cb3995f42a5b9e962db01f0e Mon Sep 17 00:00:00 2001 | 1 | From 4e8e066b60a00eb10c70ef9523c55cfc7ab536f8 Mon Sep 17 00:00:00 2001 |
2 | From: Dan McGregor <dan.mcgregor@usask.ca> | 2 | From: Dan McGregor <dan.mcgregor@usask.ca> |
3 | Date: Wed, 26 Apr 2017 20:29:41 -0600 | 3 | Date: Wed, 26 Apr 2017 20:29:41 -0600 |
4 | Subject: [PATCH] clang: driver: Check sysroot for ldso path | 4 | Subject: [PATCH] clang: driver: Check sysroot for ldso path |
@@ -11,14 +11,27 @@ Upstream-Status: Pending | |||
11 | Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> | 11 | Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> |
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
13 | --- | 13 | --- |
14 | clang/lib/Driver/ToolChains/Linux.cpp | 16 ++++++++++++++++ | 14 | clang/lib/Driver/ToolChains/Linux.cpp | 22 +++++++++++++++++++++- |
15 | 1 file changed, 16 insertions(+) | 15 | 1 file changed, 21 insertions(+), 1 deletion(-) |
16 | 16 | ||
17 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 17 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
18 | index c6fb290ffdb4..2a58f876a68d 100644 | 18 | index c6fb290ffdb4..897a2da73d54 100644 |
19 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 19 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
20 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 20 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
21 | @@ -518,11 +518,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 21 | @@ -463,7 +463,11 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
22 | Triple.getEnvironment() == llvm::Triple::GNUEABIHF || | ||
23 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; | ||
24 | |||
25 | - LibDir = "lib"; | ||
26 | + LibDir = "lib32"; | ||
27 | + if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
28 | + getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
29 | + LibDir = "lib"; | ||
30 | + } | ||
31 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; | ||
32 | break; | ||
33 | } | ||
34 | @@ -518,11 +522,19 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
22 | LibDir = "lib64"; | 35 | LibDir = "lib64"; |
23 | Loader = | 36 | Loader = |
24 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; | 37 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; |
@@ -38,7 +51,7 @@ index c6fb290ffdb4..2a58f876a68d 100644 | |||
38 | break; | 51 | break; |
39 | case llvm::Triple::riscv32: { | 52 | case llvm::Triple::riscv32: { |
40 | StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); | 53 | StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple); |
41 | @@ -544,6 +552,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 54 | @@ -544,6 +556,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
42 | case llvm::Triple::sparcv9: | 55 | case llvm::Triple::sparcv9: |
43 | LibDir = "lib64"; | 56 | LibDir = "lib64"; |
44 | Loader = "ld-linux.so.2"; | 57 | Loader = "ld-linux.so.2"; |
@@ -49,7 +62,7 @@ index c6fb290ffdb4..2a58f876a68d 100644 | |||
49 | break; | 62 | break; |
50 | case llvm::Triple::systemz: | 63 | case llvm::Triple::systemz: |
51 | LibDir = "lib"; | 64 | LibDir = "lib"; |
52 | @@ -558,6 +570,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 65 | @@ -558,6 +574,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
53 | 66 | ||
54 | LibDir = X32 ? "libx32" : "lib64"; | 67 | LibDir = X32 ? "libx32" : "lib64"; |
55 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; | 68 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; |
diff --git a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch index 01182b7..ac311a0 100644 --- a/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch +++ b/recipes-devtools/clang/clang/0017-clang-driver-Add-dyld-prefix-when-checking-sysroot-f.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From a1fdade00611749a75b958e1010db68d4cefff95 Mon Sep 17 00:00:00 2001 | 1 | From a85573b9e7e939b0ab1738dd3b3cc999b7de1547 Mon Sep 17 00:00:00 2001 |
2 | From: Oleksandr Ocheretnyi <oocheret@cisco.com> | 2 | From: Oleksandr Ocheretnyi <oocheret@cisco.com> |
3 | Date: Wed, 15 Apr 2020 00:08:39 +0300 | 3 | Date: Wed, 15 Apr 2020 00:08:39 +0300 |
4 | Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso | 4 | Subject: [PATCH] clang: driver: Add dyld-prefix when checking sysroot for ldso |
@@ -15,14 +15,25 @@ Upstream-Status: Pending | |||
15 | Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com> | 15 | Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com> |
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
17 | --- | 17 | --- |
18 | clang/lib/Driver/ToolChains/Linux.cpp | 16 ++++++++-------- | 18 | clang/lib/Driver/ToolChains/Linux.cpp | 20 ++++++++++---------- |
19 | 1 file changed, 8 insertions(+), 8 deletions(-) | 19 | 1 file changed, 10 insertions(+), 10 deletions(-) |
20 | 20 | ||
21 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp | 21 | diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp |
22 | index c68a842b45e0..ca9f5f2e4f74 100644 | 22 | index de0d5950d2ee..c6acfc8924c9 100644 |
23 | --- a/clang/lib/Driver/ToolChains/Linux.cpp | 23 | --- a/clang/lib/Driver/ToolChains/Linux.cpp |
24 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp | 24 | +++ b/clang/lib/Driver/ToolChains/Linux.cpp |
25 | @@ -518,8 +518,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 25 | @@ -464,8 +464,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
26 | tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard; | ||
27 | |||
28 | LibDir = "lib32"; | ||
29 | - if (!getVFS().exists(getDriver().SysRoot + "/" + LibDir + "/" + Loader) && | ||
30 | - getVFS().exists(getDriver().SysRoot + "/lib/" + Loader)) { | ||
31 | + if (!getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/" + LibDir + "/" + Loader) && | ||
32 | + getVFS().exists(getDriver().SysRoot + getDriver().DyldPrefix + "/lib/" + Loader)) { | ||
33 | LibDir = "lib"; | ||
34 | } | ||
35 | Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3"; | ||
36 | @@ -522,8 +522,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | ||
26 | LibDir = "lib64"; | 37 | LibDir = "lib64"; |
27 | Loader = | 38 | Loader = |
28 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; | 39 | (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1"; |
@@ -33,7 +44,7 @@ index c68a842b45e0..ca9f5f2e4f74 100644 | |||
33 | LibDir = "lib"; | 44 | LibDir = "lib"; |
34 | } | 45 | } |
35 | break; | 46 | break; |
36 | @@ -527,8 +527,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 47 | @@ -531,8 +531,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
37 | LibDir = "lib64"; | 48 | LibDir = "lib64"; |
38 | Loader = | 49 | Loader = |
39 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; | 50 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; |
@@ -44,7 +55,7 @@ index c68a842b45e0..ca9f5f2e4f74 100644 | |||
44 | LibDir = "lib"; | 55 | LibDir = "lib"; |
45 | } | 56 | } |
46 | break; | 57 | break; |
47 | @@ -552,8 +552,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 58 | @@ -556,8 +556,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
48 | case llvm::Triple::sparcv9: | 59 | case llvm::Triple::sparcv9: |
49 | LibDir = "lib64"; | 60 | LibDir = "lib64"; |
50 | Loader = "ld-linux.so.2"; | 61 | Loader = "ld-linux.so.2"; |
@@ -55,7 +66,7 @@ index c68a842b45e0..ca9f5f2e4f74 100644 | |||
55 | LibDir = "lib"; | 66 | LibDir = "lib"; |
56 | } | 67 | } |
57 | break; | 68 | break; |
58 | @@ -570,8 +570,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 69 | @@ -574,8 +574,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
59 | 70 | ||
60 | LibDir = X32 ? "libx32" : "lib64"; | 71 | LibDir = X32 ? "libx32" : "lib64"; |
61 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; | 72 | Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; |