1d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===- ARMGNUInfo.h -------------------------------------------------------===// 2d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 3d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// The MCLinker Project 4d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 5d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// This file is distributed under the University of Illinois Open Source 6d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// License. See LICENSE.TXT for details. 7d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 8d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===----------------------------------------------------------------------===// 9d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#ifndef MCLD_TARGET_ARM_GNU_INFO_H 10d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#define MCLD_TARGET_ARM_GNU_INFO_H 11d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#include <mcld/Target/GNUInfo.h> 12d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 13d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#include <llvm/Support/ELF.h> 14d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 15d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaonamespace mcld { 16d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 17d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaoclass ARMGNUInfo : public GNUInfo 18d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao{ 19d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaopublic: 20d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao ARMGNUInfo(const llvm::Triple& pTriple) : GNUInfo(pTriple) { } 21d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 22d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao uint32_t machine() const { return llvm::ELF::EM_ARM; } 23d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 246f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines uint64_t defaultTextSegmentAddr() const { return 0x8000; } 256f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 266f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines uint64_t flags() const 27f7ac0f19a1c8d0ad14bcf6456ce368b830fea886Stephen Hines { return llvm::ELF::EF_ARM_EABI_VER5; } 286f75755c9204b1d8817ae5a65a2f7e5af0ec3f70Stephen Hines 29d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao}; 30d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 31d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao} // namespace of mcld 32d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 33d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#endif 34d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 35