HexagonGOTPLT.h revision 533eae20118036f425f27bf0536ef0ccbb090b65
1//===- HexagonGOTPLT.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_HEXAGONGOTPLT_H 10#define TARGET_HEXAGON_HEXAGONGOTPLT_H 11 12#include <llvm/ADT/DenseMap.h> 13#include "HexagonGOT.h" 14 15namespace mcld { 16 17class HexagonPLT; 18class LDSection; 19 20// Hexagon creates 4 entries for the GOTPLT0 entry 21const unsigned int HexagonGOTPLT0Num = 4; 22 23/** \class HexagonGOTPLT 24 * \brief Hexagon .got.plt section. 25 */ 26class HexagonGOTPLT : public HexagonGOT 27{ 28public: 29 HexagonGOTPLT(LDSection &pSection); 30 31 ~HexagonGOTPLT(); 32 33 // hasGOT1 - return if this section has any GOT1 entry 34 bool hasGOT1() const; 35 36 void applyGOT0(uint64_t pAddress); 37 38 void applyAllGOTPLT(const HexagonPLT& pPLT); 39}; 40 41} // namespace of mcld 42 43#endif 44