• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 using 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 }
23 
reserveTargetEntries(const ELFFileFormat & pFormat)24 void HexagonELFDynamic::reserveTargetEntries(const ELFFileFormat& pFormat)
25 {
26   // reservePLTGOT
27   if (pFormat.hasGOTPLT())
28     reserveOne(llvm::ELF::DT_PLTGOT);
29 }
30 
applyTargetEntries(const ELFFileFormat & pFormat)31 void HexagonELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat)
32 {
33   // applyPLTGOT
34   if (pFormat.hasGOTPLT())
35     applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOTPLT().addr());
36 }
37 
38