summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-09-30 17:41:35 +0000
committerJim Grosbach <grosbach@apple.com>2011-09-30 17:41:35 +0000
commit4e0dbee62bf9cffcd98703f4f30cdb4985475918 (patch)
tree62d9be6e9d7c40f044c0542f002a657e9bc4069a /llvm/lib/Target
parent9727af7657b212e874c856017be437d234d42a51 (diff)
downloadbcm5719-llvm-4e0dbee62bf9cffcd98703f4f30cdb4985475918.tar.gz
bcm5719-llvm-4e0dbee62bf9cffcd98703f4f30cdb4985475918.zip
ARM Darwin default relocation model is PIC.
This matches clang, so default options in llc and friends are now closer to clang's defaults. llvm-svn: 140863
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
index 5c582ca37fa..a55c41075d4 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
+++ b/llvm/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;
}
OpenPOWER on IntegriCloud