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 10 #include <mcld/LD/ELFFileFormat.h> 11 #include "X86ELFDynamic.h" 12 13 using namespace mcld; 14 X86ELFDynamic(const GNULDBackend & pParent)15X86ELFDynamic::X86ELFDynamic(const GNULDBackend& pParent) 16 : ELFDynamic(pParent) 17 { 18 } 19 ~X86ELFDynamic()20X86ELFDynamic::~X86ELFDynamic() 21 { 22 } 23 reserveTargetEntries(const ELFFileFormat & pFormat)24void X86ELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat) 25 { 26 // reservePLTGOT 27 if (pFormat.hasGOTPLT()) 28 reserveOne(llvm::ELF::DT_PLTGOT); 29 } 30 applyTargetEntries(const ELFFileFormat & pFormat)31void X86ELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat) 32 { 33 // applyPLTGOT 34 if (pFormat.hasGOTPLT()) 35 applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOTPLT().addr()); 36 } 37 38