[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
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 178e7f7..7b2dd67 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -360,6 +360,11 @@
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 @@
}
}
+ if (getToolChain().isNoExecStackDefault()) {
+ CmdArgs.push_back("--noexecstack");
+ }
+
switch (getToolChain().getArch()) {
default:
break;