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