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//===----------------------------------------------------------------------===// 937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#ifndef TARGET_AARCH64_AARCH64GNUINFO_H_ 1037b74a387bb3993387029859c2d9d051c41c724eStephen Hines#define TARGET_AARCH64_AARCH64GNUINFO_H_ 1137b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/Target/GNUInfo.h" 12551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 13551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines#include <llvm/Support/ELF.h> 14551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 15551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hinesnamespace mcld { 16551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 1737b74a387bb3993387029859c2d9d051c41c724eStephen Hinesclass AArch64GNUInfo : public GNUInfo { 1837b74a387bb3993387029859c2d9d051c41c724eStephen Hines public: 1937b74a387bb3993387029859c2d9d051c41c724eStephen Hines explicit AArch64GNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) {} 20551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 21551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint32_t machine() const { return llvm::ELF::EM_AARCH64; } 22551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 23551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint64_t defaultTextSegmentAddr() const { return 0x400000; } 24551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 25551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines // There are no processor-specific flags so this field shall contain zero. 26551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines uint64_t flags() const { return 0x0; } 27551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines}; 28551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 2937b74a387bb3993387029859c2d9d051c41c724eStephen Hines} // namespace mcld 30551ae4ebd3e9d137ea668fb83ae4a55b8cfba451Stephen Hines 3137b74a387bb3993387029859c2d9d051c41c724eStephen Hines#endif // TARGET_AARCH64_AARCH64GNUINFO_H_ 32