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