MipsELFDynamic.h revision 37b74a387bb3993387029859c2d9d051c41c724e
1//===- MipsELFDynamic.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_MIPS_MIPSELFDYNAMIC_H_ 10#define TARGET_MIPS_MIPSELFDYNAMIC_H_ 11 12#include "mcld/Target/ELFDynamic.h" 13 14namespace mcld { 15 16class MipsGNULDBackend; 17 18class MipsELFDynamic : public ELFDynamic { 19 public: 20 MipsELFDynamic(const MipsGNULDBackend& pParent, const LinkerConfig& pConfig); 21 22 private: 23 const MipsGNULDBackend& m_pParent; 24 const LinkerConfig& m_pConfig; 25 26 private: 27 void reserveTargetEntries(const ELFFileFormat& pFormat); 28 void applyTargetEntries(const ELFFileFormat& pFormat); 29 30 size_t getSymTabNum(const ELFFileFormat& pFormat) const; 31 size_t getGotSym(const ELFFileFormat& pFormat) const; 32 size_t getLocalGotNum(const ELFFileFormat& pFormat) const; 33 uint64_t getBaseAddress(); 34}; 35 36} // namespace mcld 37 38#endif // TARGET_MIPS_MIPSELFDYNAMIC_H_ 39