1 //===-- ARMAsmBackendELF.h  ARM Asm Backend ELF -----------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H
10 #define LLVM_LIB_TARGET_ARM_ELFARMASMBACKEND_H
11 
12 #include "ARMAsmBackend.h"
13 #include "MCTargetDesc/ARMMCTargetDesc.h"
14 #include "llvm/MC/MCObjectWriter.h"
15 
16 using namespace llvm;
17 
18 namespace {
19 class ARMAsmBackendELF : public ARMAsmBackend {
20 public:
21   uint8_t OSABI;
ARMAsmBackendELF(const Target & T,const MCSubtargetInfo & STI,uint8_t OSABI,support::endianness Endian)22   ARMAsmBackendELF(const Target &T, const MCSubtargetInfo &STI, uint8_t OSABI,
23                    support::endianness Endian)
24       : ARMAsmBackend(T, STI, Endian), OSABI(OSABI) {}
25 
26   std::unique_ptr<MCObjectTargetWriter>
createObjectTargetWriter()27   createObjectTargetWriter() const override {
28     return createARMELFObjectWriter(OSABI);
29   }
30 };
31 }
32 
33 #endif
34