diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-01-15 09:16:42 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-01-15 09:16:42 +0000 |
commit | dee105772c5b5662e1a046b1c102467c84a09d26 (patch) | |
tree | c1395726ad714912c52e1f8edbabaed8c863ac88 /llvm/lib/Target/X86/X86TargetObjectFile.h | |
parent | 888d52a6556eec27341ba635a64315dd08c269aa (diff) | |
download | bcm5719-llvm-dee105772c5b5662e1a046b1c102467c84a09d26.tar.gz bcm5719-llvm-dee105772c5b5662e1a046b1c102467c84a09d26.zip |
WinCOFF: Transform IR expressions featuring __ImageBase into image relative relocations
MSVC on x64 requires that we create image relative symbol
references to refer to RTTI data. Seeing as how there is no way to
explicitly make reference to a given relocation type in LLVM IR, pattern
match expressions of the form &foo - &__ImageBase.
Differential Revision: http://llvm-reviews.chandlerc.com/D2523
llvm-svn: 199312
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetObjectFile.h')
-rw-r--r-- | llvm/lib/Target/X86/X86TargetObjectFile.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetObjectFile.h b/llvm/lib/Target/X86/X86TargetObjectFile.h index 79c861d2e12..5fcd0dfba67 100644 --- a/llvm/lib/Target/X86/X86TargetObjectFile.h +++ b/llvm/lib/Target/X86/X86TargetObjectFile.h @@ -41,6 +41,12 @@ namespace llvm { virtual const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const; }; + /// \brief This implementation is used for Windows targets on x86 and x86-64. + class X86WindowsTargetObjectFile : public TargetLoweringObjectFileCOFF { + virtual const MCExpr *getExecutableRelativeSymbol(const ConstantExpr *CE, + Mangler *Mang) const; + }; + } // end namespace llvm #endif |