Home | History | Annotate | Download | only in Mips
      1 //===- MipsGNUInfo.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_MIPSGNUINFO_H_
     10 #define TARGET_MIPS_MIPSGNUINFO_H_
     11 #include "mcld/Target/GNUInfo.h"
     12 
     13 #include <llvm/Support/ELF.h>
     14 namespace mcld {
     15 
     16 class MipsGNUInfo : public GNUInfo {
     17  public:
     18   explicit MipsGNUInfo(const llvm::Triple& pTriple);
     19 
     20   void setABIVersion(uint8_t ver);
     21   void setElfFlags(uint64_t flags);
     22 
     23   // GNUInfo
     24   uint32_t machine() const;
     25   uint8_t ABIVersion() const;
     26   uint64_t defaultTextSegmentAddr() const;
     27   uint64_t flags() const;
     28   const char* entry() const;
     29   const char* dyld() const;
     30   uint64_t abiPageSize() const;
     31 
     32  private:
     33   uint8_t m_ABIVersion;
     34   uint64_t m_ElfFlags;
     35 };
     36 
     37 }  // namespace mcld
     38 
     39 #endif  // TARGET_MIPS_MIPSGNUINFO_H_
     40