summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch')
-rw-r--r--recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch b/recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
new file mode 100644
index 0000000..4820682
--- /dev/null
+++ b/recipes-devtools/clang/clang/0009-clang-Driver-tools.cpp-Add-lssp_nonshared-on-musl.patch
@@ -0,0 +1,31 @@
1From 8a7e28da4aa95eb2e19dce222542e787f79a444c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 19 May 2016 21:11:06 -0700
4Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
5
6musl driver will need to add ssp_nonshared for stack_check_local
7on the linker cmdline when using stack protector commands on
8compiler cmdline
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
13 1 file changed, 6 insertions(+)
14
15diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
16index da197e47662..4821cfebc21 100644
17--- a/clang/lib/Driver/ToolChains/Gnu.cpp
18+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
19@@ -583,6 +583,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
20 if (IsIAMCU)
21 CmdArgs.push_back("-lgloss");
22
23+ if (ToolChain.getTriple().isMusl() &&
24+ (Args.hasArg(options::OPT_fstack_protector) ||
25+ Args.hasArg(options::OPT_fstack_protector_strong) ||
26+ Args.hasArg(options::OPT_fstack_protector_all))) {
27+ CmdArgs.push_back("-lssp_nonshared");
28+ }
29 if (IsStatic || IsStaticPIE)
30 CmdArgs.push_back("--end-group");
31 else