1 //===- AArch64GNUInfo.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_AARCH64_AARCH64GNUINFO_H
10 #define TARGET_AARCH64_AARCH64GNUINFO_H
11 #include <mcld/Target/GNUInfo.h>
12 
13 #include <llvm/Support/ELF.h>
14 
15 namespace mcld {
16 
17 class AArch64GNUInfo : public GNUInfo
18 {
19 public:
AArch64GNUInfo(const llvm::Triple & pTriple)20   AArch64GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) { }
21 
machine()22   uint32_t machine() const { return llvm::ELF::EM_AARCH64; }
23 
abiPageSize()24   uint64_t abiPageSize() const { return 0x10000; }
25 
defaultTextSegmentAddr()26   uint64_t defaultTextSegmentAddr() const { return 0x400000; }
27 
28   // There are no processor-specific flags so this field shall contain zero.
flags()29   uint64_t flags() const { return 0x0; }
30 };
31 
32 } // namespace of mcld
33 
34 #endif
35 
36