summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-05-19 16:50:02 -0700
committerKhem Raj <raj.khem@gmail.com>2019-05-19 16:53:06 -0700
commit5f665ab2c0cf0d818e3900a5fdfd6d06534c02b2 (patch)
tree16ff4ea5647556c756fac2ed37e84b236973cb73
parent391c3284289c3a5c328d673dd0367c87f98f3f02 (diff)
downloadmeta-clang-5f665ab2c0cf0d818e3900a5fdfd6d06534c02b2.tar.gz
clang: On x86_64 Modify ldso libdir only for target/cross recipes
This should ensure that builds without uninative work ok Fixes Issue #106 Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch29
1 files changed, 18 insertions, 11 deletions
diff --git a/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch b/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
index dbeb95e..3b92897 100644
--- a/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
+++ b/recipes-devtools/clang/clang/0002-clang-driver-Use-lib-for-ldso-on-OE.patch
@@ -1,7 +1,7 @@
1From b2205f063ec2644d0777b277d77426f0e55509fa Mon Sep 17 00:00:00 2001 1From b9831e3886b22d243eeb01f0ae67e9485aafd64b Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 21 May 2016 21:52:36 -0700 3Date: Sat, 21 May 2016 21:52:36 -0700
4Subject: [PATCH 02/18] clang: driver: Use /lib for ldso on OE 4Subject: [PATCH 01/18] clang: driver: Use /lib for ldso on OE
5 5
6OE does not follow the default base_libdir 6OE does not follow the default base_libdir
7that clang has, therefore adjust it for OE 7that clang has, therefore adjust it for OE
@@ -9,16 +9,19 @@ it wont be able to support multilib since
9in multilib case OE switches the base libdir 9in multilib case OE switches the base libdir
10for 64bit to /lib64 instead of /lib 10for 64bit to /lib64 instead of /lib
11 11
12Make sure that the change only happens for cross
13compilation on x86_64 architecture
14
12Signed-off-by: Khem Raj <raj.khem@gmail.com> 15Signed-off-by: Khem Raj <raj.khem@gmail.com>
13--- 16---
14 clang/lib/Driver/ToolChains/Linux.cpp | 8 ++++---- 17 clang/lib/Driver/ToolChains/Linux.cpp | 12 +++++++-----
15 1 file changed, 4 insertions(+), 4 deletions(-) 18 1 file changed, 7 insertions(+), 5 deletions(-)
16 19
17diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp 20diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
18index 5b757b8028c..552d329e7b8 100644 21index e9169e91fd4..9c08a794f5c 100644
19--- a/clang/lib/Driver/ToolChains/Linux.cpp 22--- a/clang/lib/Driver/ToolChains/Linux.cpp
20+++ b/clang/lib/Driver/ToolChains/Linux.cpp 23+++ b/clang/lib/Driver/ToolChains/Linux.cpp
21@@ -590,12 +590,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 24@@ -595,12 +595,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
22 Loader = "ld.so.1"; 25 Loader = "ld.so.1";
23 break; 26 break;
24 case llvm::Triple::ppc64: 27 case llvm::Triple::ppc64:
@@ -33,7 +36,7 @@ index 5b757b8028c..552d329e7b8 100644
33 Loader = 36 Loader =
34 (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; 37 (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
35 break; 38 break;
36@@ -617,7 +617,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 39@@ -622,7 +622,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
37 Loader = "ld-linux.so.2"; 40 Loader = "ld-linux.so.2";
38 break; 41 break;
39 case llvm::Triple::sparcv9: 42 case llvm::Triple::sparcv9:
@@ -42,15 +45,19 @@ index 5b757b8028c..552d329e7b8 100644
42 Loader = "ld-linux.so.2"; 45 Loader = "ld-linux.so.2";
43 break; 46 break;
44 case llvm::Triple::systemz: 47 case llvm::Triple::systemz:
45@@ -631,7 +631,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { 48@@ -635,8 +635,10 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const {
49 break;
46 case llvm::Triple::x86_64: { 50 case llvm::Triple::x86_64: {
47 bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32; 51 bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32;
48 52-
49- LibDir = X32 ? "libx32" : "lib64"; 53- LibDir = X32 ? "libx32" : "lib64";
50+ LibDir = "lib"; 54+ if (Triple.getEnvironment() == llvm::Triple::GNU)
55+ LibDir = X32 ? "libx32" : "lib64";
56+ else
57+ LibDir = "lib";
51 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2"; 58 Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
52 break; 59 break;
53 } 60 }
54-- 61--
552.20.1 622.21.0
56 63