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  public:
AArch64GNUInfo(const llvm::Triple & pTriple)19   explicit AArch64GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) {}
20 
machine()21   uint32_t machine() const { return llvm::ELF::EM_AARCH64; }
22 
abiPageSize()23   uint64_t abiPageSize() const { return 0x10000; }
24 
defaultTextSegmentAddr()25   uint64_t defaultTextSegmentAddr() const { return 0x400000; }
26 
27   // There are no processor-specific flags so this field shall contain zero.
flags()28   uint64_t flags() const { return 0x0; }
29 };
30 
31 }  // namespace mcld
32 
33 #endif  // TARGET_AARCH64_AARCH64GNUINFO_H_
34