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