X86ELFDynamic.h revision 5460a1f25d9ddecb5c70667267d66d51af177a99
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