summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetMachine.cpp
diff options
context:
space:
mode:
authorRenato Golin <renato.golin@linaro.org>2016-05-28 04:47:13 +0000
committerRenato Golin <renato.golin@linaro.org>2016-05-28 04:47:13 +0000
commit9be88629d54b7a6c19104dc5d88ce4020035f7a6 (patch)
tree2af235376aea826e3867d0e715574a10ceb8b755 /llvm/lib/Target/ARM/ARMTargetMachine.cpp
parent9ab45cf1eb31c75d07996f862bbeaab2d5eb84e5 (diff)
downloadbcm5719-llvm-9be88629d54b7a6c19104dc5d88ce4020035f7a6.tar.gz
bcm5719-llvm-9be88629d54b7a6c19104dc5d88ce4020035f7a6.zip
Revert "Revert "Map DynamicNoPIC to Static on non-darwin.""
This reverts commit r271096, as reverting it broke even more buildbots! But that also means I'll break on ARM again... :( llvm-svn: 271099
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetMachine.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
index 81127f7b813..d3276f79b5e 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
@@ -177,6 +177,11 @@ static Reloc::Model getEffectiveRelocModel(const Triple &TT,
if (!RM.hasValue())
// Default relocation model on Darwin is PIC, not DynamicNoPIC.
return TT.isOSDarwin() ? Reloc::PIC_ : Reloc::DynamicNoPIC;
+
+ // DynamicNoPIC is only used on darwin.
+ if (*RM == Reloc::DynamicNoPIC && !TT.isOSDarwin())
+ return Reloc::Static;
+
return *RM;
}
OpenPOWER on IntegriCloud