1274955Ssvnmir//===- AArch64ExternalSymbolizer.h - Symbolizer for AArch64 -----*- C++ -*-===// 2274955Ssvnmir// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6274955Ssvnmir// 7274955Ssvnmir//===----------------------------------------------------------------------===// 8274955Ssvnmir// 9274955Ssvnmir// Symbolize AArch64 assembly code during disassembly using callbacks. 10274955Ssvnmir// 11274955Ssvnmir//===----------------------------------------------------------------------===// 12274955Ssvnmir 13280031Sdim#ifndef LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64EXTERNALSYMBOLIZER_H 14280031Sdim#define LLVM_LIB_TARGET_AARCH64_DISASSEMBLER_AARCH64EXTERNALSYMBOLIZER_H 15274955Ssvnmir 16309124Sdim#include "llvm/MC/MCDisassembler/MCExternalSymbolizer.h" 17274955Ssvnmir 18274955Ssvnmirnamespace llvm { 19274955Ssvnmir 20274955Ssvnmirclass AArch64ExternalSymbolizer : public MCExternalSymbolizer { 21274955Ssvnmirpublic: 22274955Ssvnmir AArch64ExternalSymbolizer(MCContext &Ctx, 23274955Ssvnmir std::unique_ptr<MCRelocationInfo> RelInfo, 24274955Ssvnmir LLVMOpInfoCallback GetOpInfo, 25274955Ssvnmir LLVMSymbolLookupCallback SymbolLookUp, 26274955Ssvnmir void *DisInfo) 27274955Ssvnmir : MCExternalSymbolizer(Ctx, std::move(RelInfo), GetOpInfo, SymbolLookUp, 28274955Ssvnmir DisInfo) {} 29274955Ssvnmir 30274955Ssvnmir bool tryAddingSymbolicOperand(MCInst &MI, raw_ostream &CommentStream, 31274955Ssvnmir int64_t Value, uint64_t Address, bool IsBranch, 32274955Ssvnmir uint64_t Offset, uint64_t InstSize) override; 33274955Ssvnmir}; 34274955Ssvnmir 35274955Ssvnmir} // namespace llvm 36274955Ssvnmir 37274955Ssvnmir#endif 38