summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorOliver Stannard <oliver.stannard@arm.com>2019-02-18 12:39:47 +0000
committerOliver Stannard <oliver.stannard@arm.com>2019-02-18 12:39:47 +0000
commite3c8ce8b7547bea03fe4c9271c46c09e11fd4443 (patch)
tree8cf3f61f4253026833f1e7778c06e3d6c86244dd /clang/lib/Driver
parent6e0b562bf6e0e94e3ea6a755a9917b2725fd604d (diff)
downloadbcm5719-llvm-e3c8ce8b7547bea03fe4c9271c46c09e11fd4443.tar.gz
bcm5719-llvm-e3c8ce8b7547bea03fe4c9271c46c09e11fd4443.zip
[ARM] Add pre-defined macros for ROPI and RWPI
This adds ACLE-defined macros to test for code being compiled in the ROPI and RWPI position-independence modes. Differential revision: https://reviews.llvm.org/D23610 llvm-svn: 354265
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/ToolChains/Clang.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index fc95003e41b..0057e5391bd 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -3810,6 +3810,13 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-pic-is-pie");
}
+ if (RelocationModel == llvm::Reloc::ROPI ||
+ RelocationModel == llvm::Reloc::ROPI_RWPI)
+ CmdArgs.push_back("-fropi");
+ if (RelocationModel == llvm::Reloc::RWPI ||
+ RelocationModel == llvm::Reloc::ROPI_RWPI)
+ CmdArgs.push_back("-frwpi");
+
if (Arg *A = Args.getLastArg(options::OPT_meabi)) {
CmdArgs.push_back("-meabi");
CmdArgs.push_back(A->getValue());
OpenPOWER on IntegriCloud