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 <llvm/Support/ELF.h> 12 #include <mcld/Target/GNUInfo.h> 13 14 namespace mcld { 15 16 class MipsGNUInfo : public GNUInfo 17 { 18 public: 19 MipsGNUInfo(const llvm::Triple& pTriple); 20 21 void setABIVersion(uint8_t ver); 22 void setPICFlags(uint64_t flags); 23 24 // GNUInfo 25 uint32_t machine() const; 26 uint8_t ABIVersion() const; 27 uint64_t defaultTextSegmentAddr() const; 28 uint64_t flags() const; 29 const char* entry() const; 30 const char* dyld() const; 31 uint64_t abiPageSize() const; 32 33 private: 34 uint8_t m_ABIVersion; 35 uint64_t m_PICFlags; 36 }; 37 38 } // namespace of mcld 39 40 #endif 41