1//===-- XCOFFDump.h ---------------------------------------------*- 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_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 10#define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 11 12#include "llvm/Object/XCOFFObjectFile.h" 13 14namespace llvm { 15 16struct SymbolInfoTy; 17 18namespace objdump { 19std::optional<XCOFF::StorageMappingClass> 20getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile &Obj, 21 const object::SymbolRef &Sym); 22 23std::optional<object::SymbolRef> 24getXCOFFSymbolContainingSymbolRef(const object::XCOFFObjectFile &Obj, 25 const object::SymbolRef &Sym); 26 27bool isLabel(const object::XCOFFObjectFile &Obj, const object::SymbolRef &Sym); 28 29std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo, 30 StringRef SymbolName); 31 32Error getXCOFFRelocationValueString(const object::XCOFFObjectFile &Obj, 33 const object::RelocationRef &RelRef, 34 llvm::SmallVectorImpl<char> &Result); 35} // namespace objdump 36} // namespace llvm 37#endif 38