diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-09-30 17:41:35 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-09-30 17:41:35 +0000 |
commit | 6f09fcf5dae14d68ec9f8731b8c91c04868532e2 (patch) | |
tree | 3bfd65ad67e16210d9e90992ad156d3b787715e6 /lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | |
parent | a64556ffda503a416b2594104f8f82345734b4d9 (diff) | |
download | llvm-6f09fcf5dae14d68ec9f8731b8c91c04868532e2.tar.gz llvm-6f09fcf5dae14d68ec9f8731b8c91c04868532e2.tar.bz2 llvm-6f09fcf5dae14d68ec9f8731b8c91c04868532e2.tar.xz |
ARM Darwin default relocation model is PIC.
This matches clang, so default options in llc and friends are now closer to
clang's defaults.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140863 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp')
-rw-r--r-- | lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp index 5c582ca37f..a55c41075d 100644 --- a/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp +++ b/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp @@ -139,8 +139,11 @@ static MCAsmInfo *createARMMCAsmInfo(const Target &T, StringRef TT) { static MCCodeGenInfo *createARMMCCodeGenInfo(StringRef TT, Reloc::Model RM, CodeModel::Model CM) { MCCodeGenInfo *X = new MCCodeGenInfo(); - if (RM == Reloc::Default) - RM = Reloc::DynamicNoPIC; + if (RM == Reloc::Default) { + Triple TheTriple(TT); + // Default relocation model on Darwin is PIC, not DynamicNoPIC. + RM = TheTriple.isOSDarwin() ? Reloc::PIC_ : Reloc::DynamicNoPIC; + } X->InitMCCodeGenInfo(RM, CM); return X; } |