MipsGNUInfo.h revision cfcb22478ca64c308df58f9abe6fa2dedb213c16
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