• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===- X86ELFDynamic.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 
10 #include <mcld/LD/ELFFileFormat.h>
11 #include "X86ELFDynamic.h"
12 
13 using namespace mcld;
14 
X86ELFDynamic(const GNULDBackend & pParent)15 X86ELFDynamic::X86ELFDynamic(const GNULDBackend& pParent)
16   : ELFDynamic(pParent)
17 {
18 }
19 
~X86ELFDynamic()20 X86ELFDynamic::~X86ELFDynamic()
21 {
22 }
23 
reserveTargetEntries(const ELFFileFormat & pFormat)24 void X86ELFDynamic::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 X86ELFDynamic::applyTargetEntries(const ELFFileFormat& pFormat)
32 {
33   // applyPLTGOT
34   if (pFormat.hasGOTPLT())
35 	  applyOne(llvm::ELF::DT_PLTGOT, pFormat.getGOTPLT().addr());
36 }
37 
38