1551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines//===- AArch64GNUInfo.h ---------------------------------------------------===// 2551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// 3551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// The MCLinker Project 4551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// 5551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// This file is distributed under the University of Illinois Open Source 6551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// License. See LICENSE.TXT for details. 7551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines// 8551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines//===----------------------------------------------------------------------===// 9551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#ifndef TARGET_AARCH64_AARCH64GNUINFO_H 10551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#define TARGET_AARCH64_AARCH64GNUINFO_H 11551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#include <mcld/Target/GNUInfo.h> 12551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 13551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#include <llvm/Support/ELF.h> 14551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 15551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hinesnamespace mcld { 16551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 17551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hinesclass AArch64GNUInfo : public GNUInfo 18551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines{ 19551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hinespublic: 20551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines AArch64GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) { } 21551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 22551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint32_t machine() const { return llvm::ELF::EM_AARCH64; } 23551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 24551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint64_t abiPageSize() const { return 0x10000; } 25551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 26551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint64_t defaultTextSegmentAddr() const { return 0x400000; } 27551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 28551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines // There are no processor-specific flags so this field shall contain zero. 29551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint64_t flags() const { return 0x0; } 30551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines}; 31551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 32551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines} // namespace of mcld 33551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 34551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#endif 35551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 36