diff options
author | Evan Phoenix <evan@fallingsnow.net> | 2010-02-04 19:56:59 +0000 |
---|---|---|
committer | Evan Phoenix <evan@fallingsnow.net> | 2010-02-04 19:56:59 +0000 |
commit | 85bb54f96421461aaafcde83b6302530179337e9 (patch) | |
tree | 67b596b86737a4970b7bcfaf027065975b5007ce /include | |
parent | 6fdce6590261476964cb921a959ed83353e8b096 (diff) | |
download | external_llvm-85bb54f96421461aaafcde83b6302530179337e9.zip external_llvm-85bb54f96421461aaafcde83b6302530179337e9.tar.gz external_llvm-85bb54f96421461aaafcde83b6302530179337e9.tar.bz2 |
Disable external stubs for X86-32 and X86-64
Instruction selection for X86 now can choose an instruction
sequence that will fit any address of any symbol, no matter
the pointer width. X86-64 uses a mov+call-via-reg sequence
for this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95323 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/MachineRelocation.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/MachineRelocation.h b/include/llvm/CodeGen/MachineRelocation.h index 1c15fab..c316785 100644 --- a/include/llvm/CodeGen/MachineRelocation.h +++ b/include/llvm/CodeGen/MachineRelocation.h @@ -138,14 +138,15 @@ public: /// static MachineRelocation getExtSym(uintptr_t offset, unsigned RelocationType, const char *ES, intptr_t cst = 0, - bool GOTrelative = 0) { + bool GOTrelative = 0, + bool NeedStub = true) { assert((RelocationType & ~63) == 0 && "Relocation type too large!"); MachineRelocation Result; Result.Offset = offset; Result.ConstantVal = cst; Result.TargetReloType = RelocationType; Result.AddrType = isExtSym; - Result.MayNeedFarStub = true; + Result.MayNeedFarStub = NeedStub; Result.GOTRelative = GOTrelative; Result.TargetResolve = false; Result.Target.ExtSym = ES; |