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> 14namespace mcld { 15 16class 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