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 {
     20 public:
     21   MipsELFDynamic(const MipsGNULDBackend& pParent, const LinkerConfig& pConfig);
     22 
     23 private:
     24   const MipsGNULDBackend& m_pParent;
     25   const LinkerConfig& m_pConfig;
     26 
     27 private:
     28   void reserveTargetEntries(const ELFFileFormat& pFormat);
     29   void applyTargetEntries(const ELFFileFormat& pFormat);
     30 
     31   size_t getSymTabNum(const ELFFileFormat& pFormat) const;
     32   size_t getGotSym(const ELFFileFormat& pFormat) const;
     33   size_t getLocalGotNum(const ELFFileFormat& pFormat) const;
     34   uint64_t getBaseAddress();
     35 };
     36 
     37 } // namespace of mcld
     38 
     39 #endif
     40