[llvm-objdump][COFF][NFC] Split format-specific interfaces; add namespace
Summary:
This patch addresses, for the interfaces implemented by `COFFDump.cpp`,
multiple issues identified with the current structure of
`llvm-objdump.h` in the review of D72973.
This patch moves implementation details of the tool into an
`llvm::objdump` namespace for external linkage names, splits the
implementation details into separate headers for each implementation
file, and uses qualified names when declaring members of the
`llvm::objdump` namespace in place of leaving the namespace definition
open.
Reviewers: jhenderson, DiggerLin, jasonliu, daltenty, MaskRay
Reviewed By: jhenderson, MaskRay
Subscribers: MaskRay, rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77285
2020-04-03 06:17:52 +08:00
|
|
|
//===-- COFFDump.h ----------------------------------------------*- C++ -*-===//
|
|
|
|
//
|
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
|
|
|
#ifndef LLVM_TOOLS_LLVM_OBJDUMP_COFFDUMP_H
|
|
|
|
#define LLVM_TOOLS_LLVM_OBJDUMP_COFFDUMP_H
|
|
|
|
|
|
|
|
#include "llvm/ADT/SmallVector.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
|
|
|
|
|
|
|
class Error;
|
|
|
|
|
|
|
|
namespace object {
|
|
|
|
class COFFObjectFile;
|
|
|
|
class COFFImportFile;
|
|
|
|
class RelocationRef;
|
|
|
|
} // namespace object
|
|
|
|
|
|
|
|
namespace objdump {
|
|
|
|
Error getCOFFRelocationValueString(const object::COFFObjectFile *Obj,
|
|
|
|
const object::RelocationRef &Rel,
|
|
|
|
llvm::SmallVectorImpl<char> &Result);
|
|
|
|
|
|
|
|
void printCOFFUnwindInfo(const object::COFFObjectFile *O);
|
2021-11-10 02:08:41 +08:00
|
|
|
void printCOFFFileHeader(const object::COFFObjectFile &Obj);
|
[llvm-objdump][COFF][NFC] Split format-specific interfaces; add namespace
Summary:
This patch addresses, for the interfaces implemented by `COFFDump.cpp`,
multiple issues identified with the current structure of
`llvm-objdump.h` in the review of D72973.
This patch moves implementation details of the tool into an
`llvm::objdump` namespace for external linkage names, splits the
implementation details into separate headers for each implementation
file, and uses qualified names when declaring members of the
`llvm::objdump` namespace in place of leaving the namespace definition
open.
Reviewers: jhenderson, DiggerLin, jasonliu, daltenty, MaskRay
Reviewed By: jhenderson, MaskRay
Subscribers: MaskRay, rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77285
2020-04-03 06:17:52 +08:00
|
|
|
void printCOFFSymbolTable(const object::COFFImportFile *I);
|
|
|
|
void printCOFFSymbolTable(const object::COFFObjectFile *O);
|
|
|
|
} // namespace objdump
|
|
|
|
} // namespace llvm
|
|
|
|
|
|
|
|
#endif
|