1 //===- X86ELFDynamic.cpp --------------------------------------------------===// 2 // 3 // The MCLinker Project 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 #include "X86ELFDynamic.h" 10 11 #include "mcld/LD/ELFFileFormat.h" 12 13 namespace mcld { 14 X86ELFDynamic(const GNULDBackend & pParent,const LinkerConfig & pConfig)15X86ELFDynamic::X86ELFDynamic(const GNULDBackend& pParent, 16 const LinkerConfig& pConfig) 17 : ELFDynamic(pParent, pConfig) { 18 } 19 ~X86ELFDynamic()20X86ELFDynamic::~X86ELFDynamic() { 21 } 22 reserveTargetEntries(const ELFFileFormat & pFormat)23void X86ELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat) { 24 // reservePLTGOT 25 if (pFormat.hasGOTPLT()) 26 reserveOne(llvm::ELF::DT_PLTGOT); 27 } 28 applyTargetEntries(const ELFFileFormat & pFormat)29void X86ELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat) { 30 // applyPLTGOT 31 if (pFormat.hasGOTPLT()) 32 applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOTPLT().addr()); 33 } 34 35 } // namespace mcld 36