summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-10 20:58:47 +0000
committerChris Lattner <sabre@nondot.org>2009-07-10 20:58:47 +0000
commitba4d73310a654f1c168af401dbadae0e08794790 (patch)
tree4f987d572eb23e5245909c8060c48d505a717e0d /llvm/lib/Target/X86/X86TargetMachine.cpp
parentbd3e560f1a1e2890179656a22870f1b4624009b9 (diff)
downloadbcm5719-llvm-ba4d73310a654f1c168af401dbadae0e08794790.tar.gz
bcm5719-llvm-ba4d73310a654f1c168af401dbadae0e08794790.zip
make PIC vs DynamicNoPIC be explicit in PICStyles.
llvm-svn: 75275
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r--llvm/lib/Target/X86/X86TargetMachine.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index eb0cf93562e..92a98a065b4 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -183,8 +183,12 @@ X86TargetMachine::X86TargetMachine(const Module &M, const std::string &FS,
} else if (Subtarget.isTargetDarwin()) {
if (Subtarget.is64Bit())
Subtarget.setPICStyle(PICStyles::RIPRel);
- else
- Subtarget.setPICStyle(PICStyles::Stub);
+ else if (getRelocationModel() == Reloc::PIC_)
+ Subtarget.setPICStyle(PICStyles::StubPIC);
+ else {
+ assert(getRelocationModel() == Reloc::DynamicNoPIC);
+ Subtarget.setPICStyle(PICStyles::StubDynamicNoPIC);
+ }
} else if (Subtarget.isTargetELF()) {
if (Subtarget.is64Bit())
Subtarget.setPICStyle(PICStyles::RIPRel);
OpenPOWER on IntegriCloud