summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/Gnu.cpp
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-03-09 19:35:16 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-03-09 19:35:16 +0000
commitd48c0cd9106b7150aee4e9b6146fbee8c62d4a81 (patch)
tree6e22bb899b53256c4d1dc3af022ddee7f4f8b145 /clang/lib/Driver/ToolChains/Gnu.cpp
parentb0e4b91660f4c04f9abf5022de547479282af9ca (diff)
downloadbcm5719-llvm-d48c0cd9106b7150aee4e9b6146fbee8c62d4a81.tar.gz
bcm5719-llvm-d48c0cd9106b7150aee4e9b6146fbee8c62d4a81.zip
Don't use -pie in relocatable link.
Summary: Android, in particular, got PIE enabled by default in r316606. It resulted in relocatable links passing both -r and -pie to the linker, which is not allowed. Reviewers: srhines Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D44229 llvm-svn: 327165
Diffstat (limited to 'clang/lib/Driver/ToolChains/Gnu.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/Gnu.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
index 041bf78f7bc..56c0cdf4ccb 100644
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
@@ -307,7 +307,8 @@ static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
}
static bool getPIE(const ArgList &Args, const toolchains::Linux &ToolChain) {
- if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static))
+ if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
+ Args.hasArg(options::OPT_r))
return false;
Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
OpenPOWER on IntegriCloud