From d46fbb73eb8a9f80e8963a9a5878f8f3ae909b88 Mon Sep 17 00:00:00 2001
|
From: Khem Raj <raj.khem@gmail.com>
|
Date: Thu, 19 May 2016 21:11:06 -0700
|
Subject: [PATCH] clang: Driver/tools.cpp: Add -lssp_nonshared on musl
|
|
musl driver will need to add ssp_nonshared for stack_check_local
|
on the linker cmdline when using stack protector commands on
|
compiler cmdline
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
---
|
clang/lib/Driver/ToolChains/Gnu.cpp | 6 ++++++
|
1 file changed, 6 insertions(+)
|
|
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
index da39f29e4619..9103b153d461 100644
|
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
@@ -630,6 +630,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
if (IsIAMCU)
|
CmdArgs.push_back("-lgloss");
|
|
+ if (ToolChain.getTriple().isMusl() &&
|
+ (Args.hasArg(options::OPT_fstack_protector) ||
|
+ Args.hasArg(options::OPT_fstack_protector_strong) ||
|
+ Args.hasArg(options::OPT_fstack_protector_all))) {
|
+ CmdArgs.push_back("-lssp_nonshared");
|
+ }
|
if (IsStatic || IsStaticPIE)
|
CmdArgs.push_back("--end-group");
|
else
|