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)15 ARMELFDynamic::ARMELFDynamic(const GNULDBackend& pParent,
16                              const LinkerConfig& pConfig)
17     : ELFDynamic(pParent, pConfig) {
18 }
19 
~ARMELFDynamic()20 ARMELFDynamic::~ARMELFDynamic() {
21 }
22 
reserveTargetEntries(const ELFFileFormat & pFormat)23 void ARMELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat) {
24   // reservePLTGOT
25   if (pFormat.hasGOT())
26     reserveOne(llvm::ELF::DT_PLTGOT);
27 }
28 
applyTargetEntries(const ELFFileFormat & pFormat)29 void 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