diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-10 20:58:47 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-10 20:58:47 +0000 |
commit | ba4d73310a654f1c168af401dbadae0e08794790 (patch) | |
tree | 4f987d572eb23e5245909c8060c48d505a717e0d /llvm/lib/Target/X86/X86TargetMachine.cpp | |
parent | bd3e560f1a1e2890179656a22870f1b4624009b9 (diff) | |
download | bcm5719-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.cpp | 8 |
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); |