1 //===- X86ELFDynamic.h ----------------------------------------------------===// 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 #ifndef MCLD_X86_ELFDYNAMIC_SECTION_H 10 #define MCLD_X86_ELFDYNAMIC_SECTION_H 11 #ifdef ENABLE_UNITTEST 12 #include <gtest.h> 13 #endif 14 15 #include <mcld/Target/ELFDynamic.h> 16 17 namespace mcld { 18 19 class X86ELFDynamic : public ELFDynamic 20 { 21 public: 22 X86ELFDynamic(const GNULDBackend& pParent); 23 ~X86ELFDynamic(); 24 25 private: 26 void reserveTargetEntries(const ELFFileFormat& pFormat); 27 void applyTargetEntries(const ELFFileFormat& pFormat); 28 29 private: 30 // True if we have .got.plt section, which will avoid GOT0 entries 31 // when PLT isn't used. To support .got.plt section, we must combine 32 // .got section and .got.plt section into a single GOT. 33 bool m_HasGOTPLT; 34 }; 35 36 } // namespace of mcld 37 38 #endif 39