Path: blob/main/contrib/llvm-project/llvm/tools/llvm-objdump/XCOFFDump.h
35230 views
//===-- XCOFFDump.h ---------------------------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H9#define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H1011#include "llvm/Object/XCOFFObjectFile.h"1213namespace llvm {1415class formatted_raw_ostream;16class MCSubtargetInfo;17struct SymbolInfoTy;1819namespace objdump {20std::optional<XCOFF::StorageMappingClass>21getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile &Obj,22const object::SymbolRef &Sym);2324std::optional<object::SymbolRef>25getXCOFFSymbolContainingSymbolRef(const object::XCOFFObjectFile &Obj,26const object::SymbolRef &Sym);2728bool isLabel(const object::XCOFFObjectFile &Obj, const object::SymbolRef &Sym);2930std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo,31StringRef SymbolName);3233Error getXCOFFRelocationValueString(const object::XCOFFObjectFile &Obj,34const object::RelocationRef &RelRef,35bool SymbolDescription,36llvm::SmallVectorImpl<char> &Result);3738void dumpTracebackTable(ArrayRef<uint8_t> Bytes, uint64_t Address,39formatted_raw_ostream &OS, uint64_t End,40const MCSubtargetInfo &STI,41const object::XCOFFObjectFile *Obj);42} // namespace objdump43} // namespace llvm44#endif454647