diff options
Diffstat (limited to 'lib/Target/X86/X86TargetObjectFile.h')
-rw-r--r-- | lib/Target/X86/X86TargetObjectFile.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Target/X86/X86TargetObjectFile.h b/lib/Target/X86/X86TargetObjectFile.h index 6b2448cc9de6..2e703f1494fa 100644 --- a/lib/Target/X86/X86TargetObjectFile.h +++ b/lib/Target/X86/X86TargetObjectFile.h @@ -40,6 +40,11 @@ namespace llvm { /// \brief This implemenatation is used for X86 ELF targets that don't /// have a further specialization. class X86ELFTargetObjectFile : public TargetLoweringObjectFileELF { + public: + X86ELFTargetObjectFile() { + PLTRelativeVariantKind = MCSymbolRefExpr::VK_PLT; + } + /// \brief Describe a TLS variable address within debug info. const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override; }; @@ -53,13 +58,15 @@ namespace llvm { /// \brief This implementation is used for Windows targets on x86 and x86-64. class X86WindowsTargetObjectFile : public TargetLoweringObjectFileCOFF { const MCExpr * - getExecutableRelativeSymbol(const ConstantExpr *CE, Mangler &Mang, - const TargetMachine &TM) const override; + lowerRelativeReference(const GlobalValue *LHS, const GlobalValue *RHS, + Mangler &Mang, + const TargetMachine &TM) const override; /// \brief Given a mergeable constant with the specified size and relocation /// information, return a section that it should be placed in. MCSection *getSectionForConstant(const DataLayout &DL, SectionKind Kind, - const Constant *C) const override; + const Constant *C, + unsigned &Align) const override; }; } // end namespace llvm |