1 //===-- ARMAsmBackendELF.h ARM Asm Backend ELF -----------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H 11 #define LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H 12 13 #include "ARMAsmBackend.h" 14 #include "MCTargetDesc/ARMMCTargetDesc.h" 15 #include "llvm/MC/MCObjectWriter.h" 16 17 using namespace llvm; 18 19 namespace { 20 class ARMAsmBackendELF : public ARMAsmBackend { 21 public: 22 uint8_t OSABI; ARMAsmBackendELF(const Target & T,const MCSubtargetInfo & STI,uint8_t OSABI,support::endianness Endian)23 ARMAsmBackendELF(const Target &T, const MCSubtargetInfo &STI, uint8_t OSABI, 24 support::endianness Endian) 25 : ARMAsmBackend(T, STI, Endian), OSABI(OSABI) {} 26 27 std::unique_ptr<MCObjectTargetWriter> createObjectTargetWriter()28 createObjectTargetWriter() const override { 29 return createARMELFObjectWriter(OSABI); 30 } 31 }; 32 } 33 34 #endif 35