summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-04-21 09:56:21 -0700
committerKhem Raj <raj.khem@gmail.com>2018-04-21 09:56:21 -0700
commit028c6a58fdcc0140c71fc787c42a5d74e24984a3 (patch)
tree87737c78b897b7c3582f3b35183cf792e8c62b69
parent2b0c344b069772f5a637ad9286b7ed930a536b71 (diff)
downloadmeta-clang-028c6a58fdcc0140c71fc787c42a5d74e24984a3.tar.gz
clang: Do not link with -lssp when using -fstack-protector
This is provided by libc both (musl and glibc) Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang/0001-clang-driver-Use-lib-for-ldso-on-OE.patch4
-rw-r--r--recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch (renamed from recipes-devtools/clang/clang/0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch)21
-rw-r--r--recipes-devtools/clang/clang/0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch4
-rw-r--r--recipes-devtools/clang/clang/0004-clang-Prepend-trailing-to-sysroot.patch4
-rw-r--r--recipes-devtools/clang/clang/0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch4
-rw-r--r--recipes-devtools/clang/clang/0006-clang-Define-releative-gcc-installation-dir.patch8
-rw-r--r--recipes-devtools/clang/clang/0007-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch4
-rw-r--r--recipes-devtools/clang/common.inc2
8 files changed, 25 insertions, 26 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 e1da8f8..d19dd99 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 @@
1From fa869f4c31bf70694014d24f7b50623aa6247f47 Mon Sep 17 00:00:00 2001 1From a71c6f6cad70c1cb094ffd53ca28135eb87df406 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 1/7] clang: driver: Use /lib for ldso on OE 4Subject: [PATCH 1/7] clang: driver: Use /lib for ldso on OE
@@ -52,5 +52,5 @@ index 1301cdf114..d59512627d 100644
52 break; 52 break;
53 } 53 }
54-- 54--
552.16.1 552.17.0
56 56
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_nonshared-on-musl.patch
index b3189d5..e9b36c3 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_nonshared-on-musl.patch
@@ -1,22 +1,22 @@
1From 1d96d952f5c293847a405d3566011e015aaa0e88 Mon Sep 17 00:00:00 2001 1From 0ace54d609aac7d5f1b67d9474e3782a17bec8bf Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 21:11:06 -0700 3Date: Thu, 19 May 2016 21:11:06 -0700
4Subject: [PATCH 2/7] clang: Driver/tools.cpp: Add -lssp and -lssp_nonshared on 4Subject: [PATCH 2/7] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
5 musl
6 5
7musl driver will need to add ssp libraries to linker cmdline 6musl driver will need to add ssp_nonshared for stack_check_local
8when using stack protector commands on compiler cmdline 7on the linker cmdline when using stack protector commands on
8compiler cmdline
9 9
10Signed-off-by: Khem Raj <raj.khem@gmail.com> 10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11--- 11---
12 lib/Driver/ToolChains/Gnu.cpp | 7 +++++++ 12 lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
13 1 file changed, 7 insertions(+) 13 1 file changed, 6 insertions(+)
14 14
15diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp 15diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
16index 7845781f12..802d2e4e4f 100644 16index 7845781f12..bbe7845765 100644
17--- a/lib/Driver/ToolChains/Gnu.cpp 17--- a/lib/Driver/ToolChains/Gnu.cpp
18+++ b/lib/Driver/ToolChains/Gnu.cpp 18+++ b/lib/Driver/ToolChains/Gnu.cpp
19@@ -518,6 +518,13 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA, 19@@ -518,6 +518,12 @@ void tools::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
@@ -25,11 +25,10 @@ index 7845781f12..802d2e4e4f 100644
25+ Args.hasArg(options::OPT_fstack_protector_strong) || 25+ Args.hasArg(options::OPT_fstack_protector_strong) ||
26+ Args.hasArg(options::OPT_fstack_protector_all))) { 26+ Args.hasArg(options::OPT_fstack_protector_all))) {
27+ CmdArgs.push_back("-lssp_nonshared"); 27+ CmdArgs.push_back("-lssp_nonshared");
28+ CmdArgs.push_back("-lssp");
29+ } 28+ }
30 if (Args.hasArg(options::OPT_static)) 29 if (Args.hasArg(options::OPT_static))
31 CmdArgs.push_back("--end-group"); 30 CmdArgs.push_back("--end-group");
32 else 31 else
33-- 32--
342.16.1 332.17.0
35 34
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 c5fff97..87778d3 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 @@
1From e12b563d7e5ff427e889f18f035e9b433a578d5f Mon Sep 17 00:00:00 2001 1From d02f7f858c22fc1dcbc1ea3a96a597bcc4aa4d77 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 10 May 2016 02:00:11 -0700 3Date: Tue, 10 May 2016 02:00:11 -0700
4Subject: [PATCH 3/7] clang: musl/ppc does not support 128-bit long double 4Subject: [PATCH 3/7] clang: musl/ppc does not support 128-bit long double
@@ -23,5 +23,5 @@ index 04bef258e3..0ae210698a 100644
23 LongDoubleFormat = &llvm::APFloat::IEEEdouble(); 23 LongDoubleFormat = &llvm::APFloat::IEEEdouble();
24 } 24 }
25-- 25--
262.16.1 262.17.0
27 27
diff --git a/recipes-devtools/clang/clang/0004-clang-Prepend-trailing-to-sysroot.patch b/recipes-devtools/clang/clang/0004-clang-Prepend-trailing-to-sysroot.patch
index b0bd060..1e5b71f 100644
--- a/recipes-devtools/clang/clang/0004-clang-Prepend-trailing-to-sysroot.patch
+++ b/recipes-devtools/clang/clang/0004-clang-Prepend-trailing-to-sysroot.patch
@@ -1,4 +1,4 @@
1From 10d236bdc55bddde95d399931514b417f2c96284 Mon Sep 17 00:00:00 2001 1From 8a29645c68da82d6d7d1e7a74fdfad474f5c5755 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 09:02:13 -0700 3Date: Thu, 16 Mar 2017 09:02:13 -0700
4Subject: [PATCH 4/7] clang: Prepend trailing '/' to sysroot 4Subject: [PATCH 4/7] clang: Prepend trailing '/' to sysroot
@@ -37,5 +37,5 @@ index d59512627d..624953b17f 100644
37 // Cross-compiling binutils and GCC installations (vanilla and openSUSE at 37 // Cross-compiling binutils and GCC installations (vanilla and openSUSE at
38 // least) put various tools in a triple-prefixed directory off of the parent 38 // least) put various tools in a triple-prefixed directory off of the parent
39-- 39--
402.16.1 402.17.0
41 41
diff --git a/recipes-devtools/clang/clang/0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch b/recipes-devtools/clang/clang/0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
index 7ec01cd..f491028 100644
--- a/recipes-devtools/clang/clang/0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
+++ b/recipes-devtools/clang/clang/0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch
@@ -1,4 +1,4 @@
1From d4121c0c5ad01dab4f3c35d4fc59ec92bdca36b7 Mon Sep 17 00:00:00 2001 1From 183123464de1762bf755af4f50d77353121188c1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 16 Mar 2017 19:06:26 -0700 3Date: Thu, 16 Mar 2017 19:06:26 -0700
4Subject: [PATCH 5/7] clang: Look inside the target sysroot for compiler 4Subject: [PATCH 5/7] clang: Look inside the target sysroot for compiler
@@ -40,5 +40,5 @@ index f96a1182e3..d286622f8d 100644
40 llvm::sys::path::append(Path, "lib"); 40 llvm::sys::path::append(Path, "lib");
41 } else { 41 } else {
42-- 42--
432.16.1 432.17.0
44 44
diff --git a/recipes-devtools/clang/clang/0006-clang-Define-releative-gcc-installation-dir.patch b/recipes-devtools/clang/clang/0006-clang-Define-releative-gcc-installation-dir.patch
index 755e8bb..cbc0d19 100644
--- a/recipes-devtools/clang/clang/0006-clang-Define-releative-gcc-installation-dir.patch
+++ b/recipes-devtools/clang/clang/0006-clang-Define-releative-gcc-installation-dir.patch
@@ -1,4 +1,4 @@
1From 2dfc688d82a570bdcb8b512f91122e388db0684a Mon Sep 17 00:00:00 2001 1From 9a91d0b82ba48a9e2f634197809a1323298ef285 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 21 May 2017 15:38:25 -0700 3Date: Sun, 21 May 2017 15:38:25 -0700
4Subject: [PATCH 6/7] clang: Define / releative gcc installation dir 4Subject: [PATCH 6/7] clang: Define / releative gcc installation dir
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14 1 file changed, 1 insertion(+) 14 1 file changed, 1 insertion(+)
15 15
16diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp 16diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
17index 802d2e4e4f..3b5c1f860e 100644 17index bbe7845765..692385ff27 100644
18--- a/lib/Driver/ToolChains/Gnu.cpp 18--- a/lib/Driver/ToolChains/Gnu.cpp
19+++ b/lib/Driver/ToolChains/Gnu.cpp 19+++ b/lib/Driver/ToolChains/Gnu.cpp
20@@ -2071,6 +2071,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple( 20@@ -2070,6 +2070,7 @@ void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
21 21
22 // Debian puts cross-compilers in gcc-cross. 22 // Debian puts cross-compilers in gcc-cross.
23 {"gcc-cross/" + CandidateTriple.str(), "../..", true}, 23 {"gcc-cross/" + CandidateTriple.str(), "../..", true},
@@ -26,5 +26,5 @@ index 802d2e4e4f..3b5c1f860e 100644
26 // The Freescale PPC SDK has the gcc libraries in 26 // The Freescale PPC SDK has the gcc libraries in
27 // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do 27 // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do
28-- 28--
292.16.1 292.17.0
30 30
diff --git a/recipes-devtools/clang/clang/0007-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch b/recipes-devtools/clang/clang/0007-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch
index c730477..e54f250 100644
--- a/recipes-devtools/clang/clang/0007-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch
+++ b/recipes-devtools/clang/clang/0007-clang-Fix-ldso-for-musl-on-x86-and-x32-architectures.patch
@@ -1,4 +1,4 @@
1From 7b0b7262849c2e0ff713cd1ce1b38b70ea04f4e5 Mon Sep 17 00:00:00 2001 1From e847b02f05519e1f93d26c1c7985dca9a111f091 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 16 Aug 2017 15:16:15 -0700 3Date: Wed, 16 Aug 2017 15:16:15 -0700
4Subject: [PATCH 7/7] clang: Fix ldso for musl on x86 and x32 architectures 4Subject: [PATCH 7/7] clang: Fix ldso for musl on x86 and x32 architectures
@@ -40,5 +40,5 @@ index 624953b17f..69624f8432 100644
40 ArchName = Triple.getArchName().str(); 40 ArchName = Triple.getArchName().str();
41 } 41 }
42-- 42--
432.16.1 432.17.0
44 44
diff --git a/recipes-devtools/clang/common.inc b/recipes-devtools/clang/common.inc
index a751150..36dcca7 100644
--- a/recipes-devtools/clang/common.inc
+++ b/recipes-devtools/clang/common.inc
@@ -12,7 +12,7 @@ GCCPIE ??= ""
12# Clang patches 12# Clang patches
13CLANGPATCHES = "\ 13CLANGPATCHES = "\
14 file://0001-clang-driver-Use-lib-for-ldso-on-OE.patch;patchdir=tools/clang \ 14 file://0001-clang-driver-Use-lib-for-ldso-on-OE.patch;patchdir=tools/clang \
15 file://0002-clang-Driver-tools.cpp-Add-lssp-and-lssp_nonshared-o.patch;patchdir=tools/clang \ 15 file://0002-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch;patchdir=tools/clang \
16 file://0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch;patchdir=tools/clang \ 16 file://0003-clang-musl-ppc-does-not-support-128-bit-long-double.patch;patchdir=tools/clang \
17 file://0004-clang-Prepend-trailing-to-sysroot.patch;patchdir=tools/clang \ 17 file://0004-clang-Prepend-trailing-to-sysroot.patch;patchdir=tools/clang \
18 file://0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch;patchdir=tools/clang \ 18 file://0005-clang-Look-inside-the-target-sysroot-for-compiler-ru.patch;patchdir=tools/clang \