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