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