diff options
author | Dan Albert <danalbert@google.com> | 2019-03-28 18:08:28 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2019-03-28 18:08:28 +0000 |
commit | 2715b2871653e8b34183d0600fd31cd9d451a0c3 (patch) | |
tree | c9f76f25a5899d021f17623ea406c0ea11cfe232 /clang/lib/Driver/ToolChains/Gnu.cpp | |
parent | c25c9b4d162695c3537fdd0996c92290bcd30a9e (diff) | |
download | bcm5719-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.cpp | 9 |
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; |