xref: /freebsd/contrib/llvm-project/llvm/tools/llvm-objdump/COFFDump.h (revision 753f127f3ace09432b2baeffd71a308760641a62)
15ffd83dbSDimitry Andric //===-- COFFDump.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_COFFDUMP_H
105ffd83dbSDimitry Andric #define LLVM_TOOLS_LLVM_OBJDUMP_COFFDUMP_H
115ffd83dbSDimitry Andric 
125ffd83dbSDimitry Andric #include "llvm/ADT/SmallVector.h"
135ffd83dbSDimitry Andric 
145ffd83dbSDimitry Andric namespace llvm {
155ffd83dbSDimitry Andric 
165ffd83dbSDimitry Andric class Error;
175ffd83dbSDimitry Andric 
185ffd83dbSDimitry Andric namespace object {
195ffd83dbSDimitry Andric class COFFObjectFile;
205ffd83dbSDimitry Andric class COFFImportFile;
215ffd83dbSDimitry Andric class RelocationRef;
225ffd83dbSDimitry Andric } // namespace object
235ffd83dbSDimitry Andric 
245ffd83dbSDimitry Andric namespace objdump {
255ffd83dbSDimitry Andric Error getCOFFRelocationValueString(const object::COFFObjectFile *Obj,
265ffd83dbSDimitry Andric                                    const object::RelocationRef &Rel,
275ffd83dbSDimitry Andric                                    llvm::SmallVectorImpl<char> &Result);
285ffd83dbSDimitry Andric 
295ffd83dbSDimitry Andric void printCOFFUnwindInfo(const object::COFFObjectFile *O);
30349cc55cSDimitry Andric void printCOFFFileHeader(const object::COFFObjectFile &Obj);
31*753f127fSDimitry Andric void printCOFFSymbolTable(const object::COFFImportFile &I);
32*753f127fSDimitry Andric void printCOFFSymbolTable(const object::COFFObjectFile &O);
335ffd83dbSDimitry Andric } // namespace objdump
345ffd83dbSDimitry Andric } // namespace llvm
355ffd83dbSDimitry Andric 
365ffd83dbSDimitry Andric #endif
37