MipsGNUInfo.h revision f33f6de54db174aa679a4b6d1e040d37e95541c0
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 MCLD_TARGET_MIPS_GNU_INFO_H
10#define MCLD_TARGET_MIPS_GNU_INFO_H
11#include <llvm/Support/ELF.h>
12#include <mcld/Target/GNUInfo.h>
13
14namespace mcld {
15
16class MipsGNUInfo : public GNUInfo
17{
18public:
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
33private:
34  uint8_t m_ABIVersion;
35  uint64_t m_PICFlags;
36};
37
38} // namespace of mcld
39
40#endif
41