diff options
| author | Oliver Stannard <oliver.stannard@arm.com> | 2019-02-18 12:39:47 +0000 |
|---|---|---|
| committer | Oliver Stannard <oliver.stannard@arm.com> | 2019-02-18 12:39:47 +0000 |
| commit | e3c8ce8b7547bea03fe4c9271c46c09e11fd4443 (patch) | |
| tree | 8cf3f61f4253026833f1e7778c06e3d6c86244dd /clang/lib/Driver | |
| parent | 6e0b562bf6e0e94e3ea6a755a9917b2725fd604d (diff) | |
| download | bcm5719-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.cpp | 7 |
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()); |

