1 //===- HexagonGOT.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 TARGET_HEXAGON_HEXAGONGOT_H_
10 #define TARGET_HEXAGON_HEXAGONGOT_H_
11 
12 #include "mcld/Target/GOT.h"
13 
14 namespace mcld {
15 
16 class LDSection;
17 class SectionData;
18 
19 /** \class HexagonGOTEntry
20  *  \brief GOT Entry with size of 4 bytes
21  */
22 class HexagonGOTEntry : public GOT::Entry<4> {
23  public:
HexagonGOTEntry(uint64_t pContent,SectionData * pParent)24   HexagonGOTEntry(uint64_t pContent, SectionData* pParent)
25       : GOT::Entry<4>(pContent, pParent) {}
26 };
27 
28 /** \class HexagonGOT
29  *  \brief Hexagon Global Offset Table.
30  */
31 
32 class HexagonGOT : public GOT {
33  public:
34   explicit HexagonGOT(LDSection& pSection);
35 
36   ~HexagonGOT();
37 
38   HexagonGOTEntry* create();
39 };
40 
41 }  // namespace mcld
42 
43 #endif  // TARGET_HEXAGON_HEXAGONGOT_H_
44