Home | History | Annotate | Download | only in Mips
      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 
     14 namespace mcld {
     15 
     16 class MipsGNULDBackend;
     17 
     18 class 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