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 17namespace mcld { 18 19class X86ELFDynamic : public ELFDynamic 20{ 21public: 22 X86ELFDynamic(const GNULDBackend& pParent); 23 ~X86ELFDynamic(); 24 25private: 26 void reserveTargetEntries(const ELFFileFormat& pFormat); 27 void applyTargetEntries(const ELFFileFormat& pFormat); 28 29private: 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