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