brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 0ba6ba4 Raw
46 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H10#define LLVM_TOOLS_LLVM_OBJDUMP_XCOFFDUMP_H11 12#include "llvm/Object/XCOFFObjectFile.h"13 14namespace llvm {15 16class formatted_raw_ostream;17class MCSubtargetInfo;18struct SymbolInfoTy;19 20namespace objdump {21std::optional<XCOFF::StorageMappingClass>22getXCOFFSymbolCsectSMC(const object::XCOFFObjectFile &Obj,23                       const object::SymbolRef &Sym);24 25std::optional<object::SymbolRef>26getXCOFFSymbolContainingSymbolRef(const object::XCOFFObjectFile &Obj,27                                  const object::SymbolRef &Sym);28 29bool isLabel(const object::XCOFFObjectFile &Obj, const object::SymbolRef &Sym);30 31std::string getXCOFFSymbolDescription(const SymbolInfoTy &SymbolInfo,32                                      StringRef SymbolName);33 34Error getXCOFFRelocationValueString(const object::XCOFFObjectFile &Obj,35                                    const object::RelocationRef &RelRef,36                                    bool SymbolDescription,37                                    llvm::SmallVectorImpl<char> &Result);38 39void dumpTracebackTable(ArrayRef<uint8_t> Bytes, uint64_t Address,40                        formatted_raw_ostream &OS, uint64_t End,41                        const MCSubtargetInfo &STI,42                        const object::XCOFFObjectFile *Obj);43} // namespace objdump44} // namespace llvm45#endif46