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 
defaultTextSegmentAddr()23   uint64_t defaultTextSegmentAddr() const { return 0x400000; }
24 
25   // There are no processor-specific flags so this field shall contain zero.
flags()26   uint64_t flags() const { return 0x0; }
27 };
28 
29 }  // namespace mcld
30 
31 #endif  // TARGET_AARCH64_AARCH64GNUINFO_H_
32