33 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_ARM_MCTARGETDESC_ELFARMASMBACKEND_H10#define LLVM_LIB_TARGET_ARM_MCTARGETDESC_ELFARMASMBACKEND_H11 12#include "ARMAsmBackend.h"13#include "MCTargetDesc/ARMMCTargetDesc.h"14#include "llvm/MC/MCObjectWriter.h"15 16namespace llvm {17class ARMAsmBackendELF : public ARMAsmBackend {18public:19 uint8_t OSABI;20 ARMAsmBackendELF(const Target &T, uint8_t OSABI, llvm::endianness Endian)21 : ARMAsmBackend(T, Endian), OSABI(OSABI) {}22 23 std::unique_ptr<MCObjectTargetWriter>24 createObjectTargetWriter() const override {25 return createARMELFObjectWriter(OSABI);26 }27 28 std::optional<MCFixupKind> getFixupKind(StringRef Name) const override;29};30} // namespace llvm31 32#endif // LLVM_LIB_TARGET_ARM_MCTARGETDESC_ELFARMASMBACKEND_H33