diff options
| author | Khem Raj <raj.khem@gmail.com> | 2016-07-12 19:10:37 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2016-07-12 19:10:37 -0700 |
| commit | 51203ffaf4406c96601c7e0088f41883fcf399ed (patch) | |
| tree | bfde2c070c8975b6366e533d149a3535ecae6e3f | |
| parent | a24155d4a09f6c52fc3de2a50b85bd4f6458d149 (diff) | |
| download | meta-clang-51203ffaf4406c96601c7e0088f41883fcf399ed.tar.gz | |
clang: Fix dynamic linker detection for arm hf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
4 files changed, 18 insertions, 19 deletions
diff --git a/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch b/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch index 7571c3a..dac007a 100644 --- a/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch +++ b/recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 5273f61c9e93d1fa263fba29f0d62ab2860cde65 Mon Sep 17 00:00:00 2001 | 1 | From f34c165de2b0365cb9931956db78315c8e4dc688 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Sat, 21 May 2016 21:52:36 -0700 | 3 | Date: Sat, 21 May 2016 21:52:36 -0700 |
| 4 | Subject: [PATCH 1/4] clang: driver: Use /lib for ldso on OE | 4 | Subject: [PATCH 1/4] clang: driver: Use /lib for ldso on OE |
| @@ -15,10 +15,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 15 | 1 file changed, 4 insertions(+), 4 deletions(-) | 15 | 1 file changed, 4 insertions(+), 4 deletions(-) |
| 16 | 16 | ||
| 17 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp | 17 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp |
| 18 | index 7884c40..706612d 100644 | 18 | index 4ecbf2b..bcd91f0 100644 |
| 19 | --- a/lib/Driver/ToolChains.cpp | 19 | --- a/lib/Driver/ToolChains.cpp |
| 20 | +++ b/lib/Driver/ToolChains.cpp | 20 | +++ b/lib/Driver/ToolChains.cpp |
| 21 | @@ -4227,12 +4227,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 21 | @@ -4270,12 +4270,12 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
| 22 | Loader = "ld.so.1"; | 22 | Loader = "ld.so.1"; |
| 23 | break; | 23 | break; |
| 24 | case llvm::Triple::ppc64: | 24 | case llvm::Triple::ppc64: |
| @@ -33,7 +33,7 @@ index 7884c40..706612d 100644 | |||
| 33 | Loader = | 33 | Loader = |
| 34 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; | 34 | (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2"; |
| 35 | break; | 35 | break; |
| 36 | @@ -4242,7 +4242,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 36 | @@ -4285,7 +4285,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
| 37 | Loader = "ld-linux.so.2"; | 37 | Loader = "ld-linux.so.2"; |
| 38 | break; | 38 | break; |
| 39 | case llvm::Triple::sparcv9: | 39 | case llvm::Triple::sparcv9: |
| @@ -42,7 +42,7 @@ index 7884c40..706612d 100644 | |||
| 42 | Loader = "ld-linux.so.2"; | 42 | Loader = "ld-linux.so.2"; |
| 43 | break; | 43 | break; |
| 44 | case llvm::Triple::systemz: | 44 | case llvm::Triple::systemz: |
| 45 | @@ -4256,7 +4256,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 45 | @@ -4299,7 +4299,7 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
| 46 | case llvm::Triple::x86_64: { | 46 | case llvm::Triple::x86_64: { |
| 47 | bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32; | 47 | bool X32 = Triple.getEnvironment() == llvm::Triple::GNUX32; |
| 48 | 48 | ||
diff --git a/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch b/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch index 35b8009..a9057e4 100644 --- a/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch +++ b/recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From ad80343e25ebf5ef82ab3f1b8ce339d4702e5fa6 Mon Sep 17 00:00:00 2001 | 1 | From a30d994ddc3611bca15ff3138c6d0ee7f9fd4021 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Thu, 19 May 2016 21:11:06 -0700 | 3 | Date: Thu, 19 May 2016 21:11:06 -0700 |
| 4 | Subject: [PATCH 2/4] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on | 4 | Subject: [PATCH 2/4] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on |
| @@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 13 | 1 file changed, 7 insertions(+) | 13 | 1 file changed, 7 insertions(+) |
| 14 | 14 | ||
| 15 | diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp | 15 | diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp |
| 16 | index 2425619..ab048ba 100644 | 16 | index d3844dd..de7d1b5 100644 |
| 17 | --- a/lib/Driver/Tools.cpp | 17 | --- a/lib/Driver/Tools.cpp |
| 18 | +++ b/lib/Driver/Tools.cpp | 18 | +++ b/lib/Driver/Tools.cpp |
| 19 | @@ -9451,6 +9451,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, | 19 | @@ -9460,6 +9460,13 @@ void gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, |
| 20 | if (IsIAMCU) | 20 | if (IsIAMCU) |
| 21 | CmdArgs.push_back("-lgloss"); | 21 | CmdArgs.push_back("-lgloss"); |
| 22 | 22 | ||
diff --git a/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch b/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch index 182ae91..b128390 100644 --- a/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch +++ b/recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 8a9808b868c81d3fc65a84af74f0969dfc2df877 Mon Sep 17 00:00:00 2001 | 1 | From 2cf62aa12f3161bc366bfc873964d6fed8454702 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Tue, 10 May 2016 02:00:11 -0700 | 3 | Date: Tue, 10 May 2016 02:00:11 -0700 |
| 4 | Subject: [PATCH 3/4] clang: musl/ppc does not support 128-bit long double | 4 | Subject: [PATCH 3/4] clang: musl/ppc does not support 128-bit long double |
| @@ -9,10 +9,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 9 | 1 file changed, 2 insertions(+), 1 deletion(-) | 9 | 1 file changed, 2 insertions(+), 1 deletion(-) |
| 10 | 10 | ||
| 11 | diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp | 11 | diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp |
| 12 | index 5e9ea68..33f0d89 100644 | 12 | index c3ca8c8..bd54075 100644 |
| 13 | --- a/lib/Basic/Targets.cpp | 13 | --- a/lib/Basic/Targets.cpp |
| 14 | +++ b/lib/Basic/Targets.cpp | 14 | +++ b/lib/Basic/Targets.cpp |
| 15 | @@ -1592,7 +1592,8 @@ public: | 15 | @@ -1593,7 +1593,8 @@ public: |
| 16 | break; | 16 | break; |
| 17 | } | 17 | } |
| 18 | 18 | ||
diff --git a/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch b/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch index 1b54c65..e47b48e 100644 --- a/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch +++ b/recipes-devtools/clang/clang/0004-clang-Check-for-float-ABI-on-arm.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 30fb1a92b9d0899a2f25cf1917000aad2f4578c5 Mon Sep 17 00:00:00 2001 | 1 | From 56cdacb669a182e69159b840a6a440f7f19211f9 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Mon, 4 Jul 2016 20:14:52 -0700 | 3 | Date: Mon, 4 Jul 2016 20:14:52 -0700 |
| 4 | Subject: [PATCH 4/4] clang: Check for float ABI on arm | 4 | Subject: [PATCH 4/4] clang: Check for float ABI on arm |
| @@ -9,23 +9,22 @@ also check for float ABI which can be | |||
| 9 | set on commandline | 9 | set on commandline |
| 10 | 10 | ||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 12 | |||
| 13 | xx | ||
| 14 | --- | 12 | --- |
| 15 | lib/Driver/ToolChains.cpp | 3 ++- | 13 | lib/Driver/ToolChains.cpp | 4 +++- |
| 16 | 1 file changed, 2 insertions(+), 1 deletion(-) | 14 | 1 file changed, 3 insertions(+), 1 deletion(-) |
| 17 | 15 | ||
| 18 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp | 16 | diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp |
| 19 | index 706612d..8bac35a 100644 | 17 | index bcd91f0..fd31d7e 100644 |
| 20 | --- a/lib/Driver/ToolChains.cpp | 18 | --- a/lib/Driver/ToolChains.cpp |
| 21 | +++ b/lib/Driver/ToolChains.cpp | 19 | +++ b/lib/Driver/ToolChains.cpp |
| 22 | @@ -4169,7 +4169,8 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { | 20 | @@ -4212,7 +4212,9 @@ std::string Linux::getDynamicLinker(const ArgList &Args) const { |
| 23 | default: | 21 | default: |
| 24 | ArchName = Triple.getArchName().str(); | 22 | ArchName = Triple.getArchName().str(); |
| 25 | } | 23 | } |
| 26 | - if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF) | 24 | - if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF) |
| 27 | + if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF || | 25 | + if (Triple.getEnvironment() == llvm::Triple::MuslEABIHF || |
| 28 | + tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard) | 26 | + (Triple.getEnvironment() == llvm::Triple::MuslEABI && |
| 27 | + tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard)) | ||
| 29 | ArchName += "hf"; | 28 | ArchName += "hf"; |
| 30 | 29 | ||
| 31 | return "/lib/ld-musl-" + ArchName + ".so.1"; | 30 | return "/lib/ld-musl-" + ArchName + ".so.1"; |
