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