1*5ffd83dbSDimitry Andric //===-- XCOFFDump.h ---------------------------------------------*- C++ -*-===// 2*5ffd83dbSDimitry Andric // 3*5ffd83dbSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*5ffd83dbSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*5ffd83dbSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*5ffd83dbSDimitry Andric // 7*5ffd83dbSDimitry Andric //===----------------------------------------------------------------------===// 8*5ffd83dbSDimitry Andric 9*5ffd83dbSDimitry Andric #ifndef LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 10*5ffd83dbSDimitry Andric #define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H 11*5ffd83dbSDimitry Andric 12*5ffd83dbSDimitry Andric #include "llvm/Object/XCOFFObjectFile.h" 13*5ffd83dbSDimitry Andric 14*5ffd83dbSDimitry Andric namespace llvm { 15*5ffd83dbSDimitry Andric 16*5ffd83dbSDimitry Andric struct SymbolInfoTy; 17*5ffd83dbSDimitry Andric 18*5ffd83dbSDimitry Andric namespace objdump { 19*5ffd83dbSDimitry Andric Optional<XCOFF::StorageMappingClass> 20*5ffd83dbSDimitry Andric getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile *Obj, 21*5ffd83dbSDimitry Andric const object::SymbolRef &Sym); 22*5ffd83dbSDimitry Andric 23*5ffd83dbSDimitry Andric bool isLabel(const object::XCOFFObjectFile *Obj, const object::SymbolRef &Sym); 24*5ffd83dbSDimitry Andric 25*5ffd83dbSDimitry Andric std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo, 26*5ffd83dbSDimitry Andric StringRef SymbolName); 27*5ffd83dbSDimitry Andric 28*5ffd83dbSDimitry Andric Error getXCOFFRelocationValueString(const object::XCOFFObjectFile *Obj, 29*5ffd83dbSDimitry Andric const object::RelocationRef &RelRef, 30*5ffd83dbSDimitry Andric llvm::SmallVectorImpl<char> &Result); 31*5ffd83dbSDimitry Andric } // namespace objdump 32*5ffd83dbSDimitry Andric } // namespace llvm 33*5ffd83dbSDimitry Andric #endif 34