summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/Gnu.cpp
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2019-03-28 18:08:28 +0000
committerDan Albert <danalbert@google.com>2019-03-28 18:08:28 +0000
commit2715b2871653e8b34183d0600fd31cd9d451a0c3 (patch)
treec9f76f25a5899d021f17623ea406c0ea11cfe232 /clang/lib/Driver/ToolChains/Gnu.cpp
parentc25c9b4d162695c3537fdd0996c92290bcd30a9e (diff)
downloadbcm5719-llvm-2715b2871653e8b34183d0600fd31cd9d451a0c3.tar.gz
bcm5719-llvm-2715b2871653e8b34183d0600fd31cd9d451a0c3.zip
[Driver] Default Android toolchains to noexecstack.
Android does not support executable stacks. Reviewers: srhines, pirama Reviewed By: pirama Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D53343 llvm-svn: 357197
Diffstat (limited to 'clang/lib/Driver/ToolChains/Gnu.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/Gnu.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 178e7f72c74..7b2dd6777c4 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -360,6 +360,11 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("--no-dynamic-linker");
}
+ if (ToolChain.isNoExecStackDefault()) {
+ CmdArgs.push_back("-z");
+ CmdArgs.push_back("noexecstack");
+ }
+
if (Args.hasArg(options::OPT_rdynamic))
CmdArgs.push_back("-export-dynamic");
@@ -609,6 +614,10 @@ void tools::gnutools::Assembler::ConstructJob(Compilation &C,
}
}
+ if (getToolChain().isNoExecStackDefault()) {
+ CmdArgs.push_back("--noexecstack");
+ }
+
switch (getToolChain().getArch()) {
default:
break;
OpenPOWER on IntegriCloud