15ffd83dbSDimitry Andric //===-- XCOFFDump.h ---------------------------------------------*- C++ -*-===// 25ffd83dbSDimitry Andric // 35ffd83dbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 45ffd83dbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 55ffd83dbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65ffd83dbSDimitry Andric // 75ffd83dbSDimitry Andric //===----------------------------------------------------------------------===// 85ffd83dbSDimitry Andric 95ffd83dbSDimitry Andric #ifndef LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 105ffd83dbSDimitry Andric #define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 115ffd83dbSDimitry Andric 125ffd83dbSDimitry Andric #include "llvm/Object/XCOFFObjectFile.h" 135ffd83dbSDimitry Andric 145ffd83dbSDimitry Andric namespace llvm { 155ffd83dbSDimitry Andric 165ffd83dbSDimitry Andric struct SymbolInfoTy; 175ffd83dbSDimitry Andric 185ffd83dbSDimitry Andric namespace objdump { 19*bdd1243dSDimitry Andric std::optional<XCOFF::StorageMappingClass> 20753f127fSDimitry Andric getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile &Obj, 215ffd83dbSDimitry Andric const object::SymbolRef &Sym); 225ffd83dbSDimitry Andric 23*bdd1243dSDimitry Andric std::optional<object::SymbolRef> 24753f127fSDimitry Andric getXCOFFSymbolContainingSymbolRef(const object::XCOFFObjectFile &Obj, 25349cc55cSDimitry Andric const object::SymbolRef &Sym); 26349cc55cSDimitry Andric 27753f127fSDimitry Andric bool isLabel(const object::XCOFFObjectFile &Obj, const object::SymbolRef &Sym); 285ffd83dbSDimitry Andric 295ffd83dbSDimitry Andric std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo, 305ffd83dbSDimitry Andric StringRef SymbolName); 315ffd83dbSDimitry Andric 32753f127fSDimitry Andric Error getXCOFFRelocationValueString(const object::XCOFFObjectFile &Obj, 335ffd83dbSDimitry Andric const object::RelocationRef &RelRef, 345ffd83dbSDimitry Andric llvm::SmallVectorImpl<char> &Result); 355ffd83dbSDimitry Andric } // namespace objdump 365ffd83dbSDimitry Andric } // namespace llvm 375ffd83dbSDimitry Andric #endif 38