[llvm] 076308a - [llvm-objdump][NFC] Declare command-line externs in headers with namespace
Hubert Tong via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 6 13:58:09 PDT 2020
Author: Hubert Tong
Date: 2020-04-06T16:58:01-04:00
New Revision: 076308a4b575d488440d7e715965e9d1c0adb9bb
URL: https://github.com/llvm/llvm-project/commit/076308a4b575d488440d7e715965e9d1c0adb9bb
DIFF: https://github.com/llvm/llvm-project/commit/076308a4b575d488440d7e715965e9d1c0adb9bb.diff
LOG: [llvm-objdump][NFC] Declare command-line externs in headers with namespace
Summary:
This patch moves the forward declarations of command-line `cl::*`
externs in `MachODump.cpp` and `llvm-objdump.cpp` into the headers
corresponding to the file that defines the variable. At the same time,
these externs are moved into the `llvm::objdump` namespace. The externs
that are not referenced outside their defining translation unit are made
static.
This does not factor out uses of the Mach-O options from
`llvm-objdump.cpp`.
Reviewers: jhenderson, MaskRay, DiggerLin, jasonliu, daltenty
Reviewed By: jhenderson, MaskRay
Subscribers: rupprecht, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D77388
Added:
llvm/tools/llvm-objdump/MachODump.h
Modified:
llvm/tools/llvm-objdump/ELFDump.cpp
llvm/tools/llvm-objdump/MachODump.cpp
llvm/tools/llvm-objdump/llvm-objdump.cpp
llvm/tools/llvm-objdump/llvm-objdump.h
Removed:
################################################################################
diff --git a/llvm/tools/llvm-objdump/ELFDump.cpp b/llvm/tools/llvm-objdump/ELFDump.cpp
index d2543dff7d14..dea23b2f1c31 100644
--- a/llvm/tools/llvm-objdump/ELFDump.cpp
+++ b/llvm/tools/llvm-objdump/ELFDump.cpp
@@ -19,6 +19,7 @@
#include "llvm/Support/raw_ostream.h"
using namespace llvm::object;
+using namespace llvm::objdump;
namespace llvm {
template <class ELFT>
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index fe46133eda89..ac4de273f457 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -10,6 +10,8 @@
//
//===----------------------------------------------------------------------===//
+#include "MachODump.h"
+
#include "llvm-objdump.h"
#include "llvm-c/Disassembler.h"
#include "llvm/ADT/STLExtras.h"
@@ -57,53 +59,35 @@ extern "C" {
}
#endif
+using namespace llvm;
using namespace llvm::object;
+using namespace llvm::objdump;
-namespace llvm {
-
-cl::OptionCategory MachOCat("llvm-objdump MachO Specific Options");
-
-extern cl::opt<bool> ArchiveHeaders;
-extern cl::opt<bool> Disassemble;
-extern cl::opt<bool> DisassembleAll;
-extern cl::opt<DIDumpType> DwarfDumpType;
-extern cl::list<std::string> FilterSections;
-extern cl::list<std::string> MAttrs;
-extern cl::opt<std::string> MCPU;
-extern cl::opt<bool> NoShowRawInsn;
-extern cl::opt<bool> NoLeadingAddr;
-extern cl::opt<bool> PrintImmHex;
-extern cl::opt<bool> PrivateHeaders;
-extern cl::opt<bool> Relocations;
-extern cl::opt<bool> SectionHeaders;
-extern cl::opt<bool> SectionContents;
-extern cl::opt<bool> SymbolTable;
-extern cl::opt<std::string> TripleName;
-extern cl::opt<bool> UnwindInfo;
+cl::OptionCategory objdump::MachOCat("llvm-objdump MachO Specific Options");
-cl::opt<bool>
- FirstPrivateHeader("private-header",
- cl::desc("Display only the first format specific file "
- "header"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::FirstPrivateHeader(
+ "private-header",
+ cl::desc("Display only the first format specific file header"),
+ cl::cat(MachOCat));
-cl::opt<bool> ExportsTrie("exports-trie",
- cl::desc("Display mach-o exported symbols"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::ExportsTrie("exports-trie",
+ cl::desc("Display mach-o exported symbols"),
+ cl::cat(MachOCat));
-cl::opt<bool> Rebase("rebase", cl::desc("Display mach-o rebasing info"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::Rebase("rebase",
+ cl::desc("Display mach-o rebasing info"),
+ cl::cat(MachOCat));
-cl::opt<bool> Bind("bind", cl::desc("Display mach-o binding info"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::Bind("bind", cl::desc("Display mach-o binding info"),
+ cl::cat(MachOCat));
-cl::opt<bool> LazyBind("lazy-bind",
- cl::desc("Display mach-o lazy binding info"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::LazyBind("lazy-bind",
+ cl::desc("Display mach-o lazy binding info"),
+ cl::cat(MachOCat));
-cl::opt<bool> WeakBind("weak-bind",
- cl::desc("Display mach-o weak binding info"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::WeakBind("weak-bind",
+ cl::desc("Display mach-o weak binding info"),
+ cl::cat(MachOCat));
static cl::opt<bool>
UseDbg("g", cl::Grouping,
@@ -122,63 +106,65 @@ static cl::opt<bool> NoLeadingHeaders("no-leading-headers",
cl::desc("Print no leading headers"),
cl::cat(MachOCat));
-cl::opt<bool> UniversalHeaders("universal-headers",
- cl::desc("Print Mach-O universal headers "
- "(requires -macho)"),
- cl::cat(MachOCat));
-
-cl::opt<bool>
- ArchiveMemberOffsets("archive-member-offsets",
- cl::desc("Print the offset to each archive member for "
- "Mach-O archives (requires -macho and "
- "-archive-headers)"),
- cl::cat(MachOCat));
-
-cl::opt<bool> IndirectSymbols("indirect-symbols",
- cl::desc("Print indirect symbol table for Mach-O "
- "objects (requires -macho)"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::UniversalHeaders(
+ "universal-headers",
+ cl::desc("Print Mach-O universal headers (requires -macho)"),
+ cl::cat(MachOCat));
-cl::opt<bool>
- DataInCode("data-in-code",
- cl::desc("Print the data in code table for Mach-O objects "
- "(requires -macho)"),
- cl::cat(MachOCat));
+static cl::opt<bool> ArchiveMemberOffsets(
+ "archive-member-offsets",
+ cl::desc("Print the offset to each archive member for Mach-O archives "
+ "(requires -macho and -archive-headers)"),
+ cl::cat(MachOCat));
-cl::opt<bool> LinkOptHints("link-opt-hints",
- cl::desc("Print the linker optimization hints for "
- "Mach-O objects (requires -macho)"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::IndirectSymbols(
+ "indirect-symbols",
+ cl::desc(
+ "Print indirect symbol table for Mach-O objects (requires -macho)"),
+ cl::cat(MachOCat));
-cl::opt<bool> InfoPlist("info-plist",
- cl::desc("Print the info plist section as strings for "
- "Mach-O objects (requires -macho)"),
- cl::cat(MachOCat));
+cl::opt<bool> objdump::DataInCode(
+ "data-in-code",
+ cl::desc(
+ "Print the data in code table for Mach-O objects (requires -macho)"),
+ cl::cat(MachOCat));
-cl::opt<bool> DylibsUsed("dylibs-used",
- cl::desc("Print the shared libraries used for linked "
- "Mach-O files (requires -macho)"),
- cl::cat(MachOCat));
+cl::opt<bool>
+ objdump::LinkOptHints("link-opt-hints",
+ cl::desc("Print the linker optimization hints for "
+ "Mach-O objects (requires -macho)"),
+ cl::cat(MachOCat));
cl::opt<bool>
- DylibId("dylib-id",
- cl::desc("Print the shared library's id for the dylib Mach-O "
- "file (requires -macho)"),
- cl::cat(MachOCat));
+ objdump::InfoPlist("info-plist",
+ cl::desc("Print the info plist section as strings for "
+ "Mach-O objects (requires -macho)"),
+ cl::cat(MachOCat));
cl::opt<bool>
+ objdump::DylibsUsed("dylibs-used",
+ cl::desc("Print the shared libraries used for linked "
+ "Mach-O files (requires -macho)"),
+ cl::cat(MachOCat));
+
+cl::opt<bool> objdump::DylibId("dylib-id",
+ cl::desc("Print the shared library's id for the "
+ "dylib Mach-O file (requires -macho)"),
+ cl::cat(MachOCat));
+
+static cl::opt<bool>
NonVerbose("non-verbose",
- cl::desc("Print the info for Mach-O objects in "
- "non-verbose or numeric form (requires -macho)"),
+ cl::desc("Print the info for Mach-O objects in non-verbose or "
+ "numeric form (requires -macho)"),
cl::cat(MachOCat));
cl::opt<bool>
- ObjcMetaData("objc-meta-data",
- cl::desc("Print the Objective-C runtime meta data for "
- "Mach-O files (requires -macho)"),
- cl::cat(MachOCat));
+ objdump::ObjcMetaData("objc-meta-data",
+ cl::desc("Print the Objective-C runtime meta data "
+ "for Mach-O files (requires -macho)"),
+ cl::cat(MachOCat));
-cl::opt<std::string> DisSymName(
+static cl::opt<std::string> DisSymName(
"dis-symname",
cl::desc("disassemble just this symbol's instructions (requires -macho)"),
cl::cat(MachOCat));
@@ -192,6 +178,8 @@ static cl::list<std::string>
ArchFlags("arch", cl::desc("architecture(s) from a Mach-O file to dump"),
cl::ZeroOrMore, cl::cat(MachOCat));
+namespace llvm {
+
extern StringSet<> FoundSectionSet;
bool ArchAll = false;
diff --git a/llvm/tools/llvm-objdump/MachODump.h b/llvm/tools/llvm-objdump/MachODump.h
new file mode 100644
index 000000000000..252b0f417af8
--- /dev/null
+++ b/llvm/tools/llvm-objdump/MachODump.h
@@ -0,0 +1,37 @@
+//===-- MachODump.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_MACHODUMP_H
+#define LLVM_TOOLS_LLVM_OBJDUMP_MACHODUMP_H
+
+#include "llvm/Support/CommandLine.h"
+
+namespace llvm {
+namespace objdump {
+
+// MachO specific options
+extern cl::OptionCategory MachOCat;
+extern cl::opt<bool> Bind;
+extern cl::opt<bool> DataInCode;
+extern cl::opt<bool> DylibsUsed;
+extern cl::opt<bool> DylibId;
+extern cl::opt<bool> ExportsTrie;
+extern cl::opt<bool> FirstPrivateHeader;
+extern cl::opt<bool> IndirectSymbols;
+extern cl::opt<bool> InfoPlist;
+extern cl::opt<bool> LazyBind;
+extern cl::opt<bool> LinkOptHints;
+extern cl::opt<bool> ObjcMetaData;
+extern cl::opt<bool> Rebase;
+extern cl::opt<bool> UniversalHeaders;
+extern cl::opt<bool> WeakBind;
+
+} // namespace objdump
+} // namespace llvm
+
+#endif
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 5c2bf29c46a8..06a4978a0736 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -17,6 +17,7 @@
#include "llvm-objdump.h"
#include "COFFDump.h"
+#include "MachODump.h"
#include "XCOFFDump.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/STLExtras.h"
@@ -72,29 +73,11 @@
#include <unordered_map>
#include <utility>
+using namespace llvm;
using namespace llvm::object;
using namespace llvm::objdump;
-namespace llvm {
-
-cl::OptionCategory ObjdumpCat("llvm-objdump Options");
-
-// MachO specific
-extern cl::OptionCategory MachOCat;
-extern cl::opt<bool> Bind;
-extern cl::opt<bool> DataInCode;
-extern cl::opt<bool> DylibsUsed;
-extern cl::opt<bool> DylibId;
-extern cl::opt<bool> ExportsTrie;
-extern cl::opt<bool> FirstPrivateHeader;
-extern cl::opt<bool> IndirectSymbols;
-extern cl::opt<bool> InfoPlist;
-extern cl::opt<bool> LazyBind;
-extern cl::opt<bool> LinkOptHints;
-extern cl::opt<bool> ObjcMetaData;
-extern cl::opt<bool> Rebase;
-extern cl::opt<bool> UniversalHeaders;
-extern cl::opt<bool> WeakBind;
+static cl::OptionCategory ObjdumpCat("llvm-objdump Options");
static cl::opt<uint64_t> AdjustVMA(
"adjust-vma",
@@ -115,21 +98,22 @@ static cl::opt<std::string>
"see -version for available targets"),
cl::cat(ObjdumpCat));
-cl::opt<bool> ArchiveHeaders("archive-headers",
- cl::desc("Display archive header information"),
- cl::cat(ObjdumpCat));
+cl::opt<bool>
+ objdump::ArchiveHeaders("archive-headers",
+ cl::desc("Display archive header information"),
+ cl::cat(ObjdumpCat));
static cl::alias ArchiveHeadersShort("a",
cl::desc("Alias for --archive-headers"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(ArchiveHeaders));
-cl::opt<bool> Demangle("demangle", cl::desc("Demangle symbols names"),
- cl::init(false), cl::cat(ObjdumpCat));
+cl::opt<bool> objdump::Demangle("demangle", cl::desc("Demangle symbols names"),
+ cl::init(false), cl::cat(ObjdumpCat));
static cl::alias DemangleShort("C", cl::desc("Alias for --demangle"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(Demangle));
-cl::opt<bool> Disassemble(
+cl::opt<bool> objdump::Disassemble(
"disassemble",
cl::desc("Display assembler mnemonics for the machine instructions"),
cl::cat(ObjdumpCat));
@@ -137,7 +121,7 @@ static cl::alias DisassembleShort("d", cl::desc("Alias for --disassemble"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(Disassemble));
-cl::opt<bool> DisassembleAll(
+cl::opt<bool> objdump::DisassembleAll(
"disassemble-all",
cl::desc("Display assembler mnemonics for the machine instructions"),
cl::cat(ObjdumpCat));
@@ -146,7 +130,7 @@ static cl::alias DisassembleAllShort("D",
cl::NotHidden, cl::Grouping,
cl::aliasopt(DisassembleAll));
-cl::opt<bool>
+static cl::opt<bool>
SymbolDescription("symbol-description",
cl::desc("Add symbol description for disassembly. This "
"option is for XCOFF files only"),
@@ -179,7 +163,7 @@ static cl::alias
cl::CommaSeparated,
cl::aliasopt(DisassemblerOptions));
-cl::opt<DIDumpType> DwarfDumpType(
+cl::opt<DIDumpType> objdump::DwarfDumpType(
"dwarf", cl::init(DIDT_Null), cl::desc("Dump of dwarf debug sections:"),
cl::values(clEnumValN(DIDT_DebugFrame, "frames", ".debug_frame")),
cl::cat(ObjdumpCat));
@@ -206,9 +190,10 @@ static cl::alias FileHeadersShort("f", cl::desc("Alias for --file-headers"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(FileHeaders));
-cl::opt<bool> SectionContents("full-contents",
- cl::desc("Display the content of each section"),
- cl::cat(ObjdumpCat));
+cl::opt<bool>
+ objdump::SectionContents("full-contents",
+ cl::desc("Display the content of each section"),
+ cl::cat(ObjdumpCat));
static cl::alias SectionContentsShort("s",
cl::desc("Alias for --full-contents"),
cl::NotHidden, cl::Grouping,
@@ -234,24 +219,24 @@ static cl::opt<bool> MachOOpt("macho",
static cl::alias MachOm("m", cl::desc("Alias for --macho"), cl::NotHidden,
cl::Grouping, cl::aliasopt(MachOOpt));
-cl::opt<std::string>
- MCPU("mcpu",
- cl::desc("Target a specific cpu type (-mcpu=help for details)"),
- cl::value_desc("cpu-name"), cl::init(""), cl::cat(ObjdumpCat));
+cl::opt<std::string> objdump::MCPU(
+ "mcpu", cl::desc("Target a specific cpu type (-mcpu=help for details)"),
+ cl::value_desc("cpu-name"), cl::init(""), cl::cat(ObjdumpCat));
-cl::list<std::string> MAttrs("mattr", cl::CommaSeparated,
- cl::desc("Target specific attributes"),
- cl::value_desc("a1,+a2,-a3,..."),
- cl::cat(ObjdumpCat));
+cl::list<std::string> objdump::MAttrs("mattr", cl::CommaSeparated,
+ cl::desc("Target specific attributes"),
+ cl::value_desc("a1,+a2,-a3,..."),
+ cl::cat(ObjdumpCat));
-cl::opt<bool> NoShowRawInsn("no-show-raw-insn",
- cl::desc("When disassembling "
- "instructions, do not print "
- "the instruction bytes."),
- cl::cat(ObjdumpCat));
-cl::opt<bool> NoLeadingAddr("no-leading-addr",
- cl::desc("Print no leading address"),
- cl::cat(ObjdumpCat));
+cl::opt<bool> objdump::NoShowRawInsn(
+ "no-show-raw-insn",
+ cl::desc(
+ "When disassembling instructions, do not print the instruction bytes."),
+ cl::cat(ObjdumpCat));
+
+cl::opt<bool> objdump::NoLeadingAddr("no-leading-addr",
+ cl::desc("Print no leading address"),
+ cl::cat(ObjdumpCat));
static cl::opt<bool> RawClangAST(
"raw-clang-ast",
@@ -259,37 +244,40 @@ static cl::opt<bool> RawClangAST(
cl::cat(ObjdumpCat));
cl::opt<bool>
- Relocations("reloc", cl::desc("Display the relocation entries in the file"),
- cl::cat(ObjdumpCat));
+ objdump::Relocations("reloc",
+ cl::desc("Display the relocation entries in the file"),
+ cl::cat(ObjdumpCat));
static cl::alias RelocationsShort("r", cl::desc("Alias for --reloc"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(Relocations));
-cl::opt<bool> PrintImmHex("print-imm-hex",
- cl::desc("Use hex format for immediate values"),
- cl::cat(ObjdumpCat));
+cl::opt<bool>
+ objdump::PrintImmHex("print-imm-hex",
+ cl::desc("Use hex format for immediate values"),
+ cl::cat(ObjdumpCat));
-cl::opt<bool> PrivateHeaders("private-headers",
- cl::desc("Display format specific file headers"),
- cl::cat(ObjdumpCat));
+cl::opt<bool>
+ objdump::PrivateHeaders("private-headers",
+ cl::desc("Display format specific file headers"),
+ cl::cat(ObjdumpCat));
static cl::alias PrivateHeadersShort("p",
cl::desc("Alias for --private-headers"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(PrivateHeaders));
cl::list<std::string>
- FilterSections("section",
- cl::desc("Operate on the specified sections only. "
- "With -macho dump segment,section"),
- cl::cat(ObjdumpCat));
+ objdump::FilterSections("section",
+ cl::desc("Operate on the specified sections only. "
+ "With -macho dump segment,section"),
+ cl::cat(ObjdumpCat));
static cl::alias FilterSectionsj("j", cl::desc("Alias for --section"),
cl::NotHidden, cl::Grouping, cl::Prefix,
cl::aliasopt(FilterSections));
-cl::opt<bool> SectionHeaders("section-headers",
- cl::desc("Display summaries of the "
- "headers for each section."),
- cl::cat(ObjdumpCat));
+cl::opt<bool> objdump::SectionHeaders(
+ "section-headers",
+ cl::desc("Display summaries of the headers for each section."),
+ cl::cat(ObjdumpCat));
static cl::alias SectionHeadersShort("headers",
cl::desc("Alias for --section-headers"),
cl::NotHidden,
@@ -321,13 +309,13 @@ static cl::opt<uint64_t> StopAddress("stop-address",
cl::value_desc("address"),
cl::init(UINT64_MAX), cl::cat(ObjdumpCat));
-cl::opt<bool> SymbolTable("syms", cl::desc("Display the symbol table"),
- cl::cat(ObjdumpCat));
+cl::opt<bool> objdump::SymbolTable("syms", cl::desc("Display the symbol table"),
+ cl::cat(ObjdumpCat));
static cl::alias SymbolTableShort("t", cl::desc("Alias for --syms"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(SymbolTable));
-cl::opt<bool> DynamicSymbolTable(
+static cl::opt<bool> DynamicSymbolTable(
"dynamic-syms",
cl::desc("Display the contents of the dynamic symbol table"),
cl::cat(ObjdumpCat));
@@ -336,13 +324,15 @@ static cl::alias DynamicSymbolTableShort("T",
cl::NotHidden, cl::Grouping,
cl::aliasopt(DynamicSymbolTable));
-cl::opt<std::string> TripleName("triple",
- cl::desc("Target triple to disassemble for, "
- "see -version for available targets"),
- cl::cat(ObjdumpCat));
+cl::opt<std::string> objdump::TripleName(
+ "triple",
+ cl::desc(
+ "Target triple to disassemble for, see -version for available targets"),
+ cl::cat(ObjdumpCat));
-cl::opt<bool> UnwindInfo("unwind-info", cl::desc("Display unwind information"),
- cl::cat(ObjdumpCat));
+cl::opt<bool> objdump::UnwindInfo("unwind-info",
+ cl::desc("Display unwind information"),
+ cl::cat(ObjdumpCat));
static cl::alias UnwindInfoShort("u", cl::desc("Alias for --unwind-info"),
cl::NotHidden, cl::Grouping,
cl::aliasopt(UnwindInfo));
@@ -355,6 +345,8 @@ static cl::alias WideShort("w", cl::Grouping, cl::aliasopt(Wide));
static cl::extrahelp
HelpResponse("\nPass @FILE as argument to read options from FILE.\n");
+namespace llvm {
+
static StringSet<> DisasmSymbolSet;
StringSet<> FoundSectionSet;
static StringRef ToolName;
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.h b/llvm/tools/llvm-objdump/llvm-objdump.h
index 429a6074964d..5b74c1d883f0 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.h
+++ b/llvm/tools/llvm-objdump/llvm-objdump.h
@@ -23,9 +23,30 @@ class ELFSectionRef;
class MachOObjectFile;
class MachOUniversalBinary;
class RelocationRef;
-}
+} // namespace object
+
+namespace objdump {
+extern cl::opt<bool> ArchiveHeaders;
extern cl::opt<bool> Demangle;
+extern cl::opt<bool> Disassemble;
+extern cl::opt<bool> DisassembleAll;
+extern cl::opt<DIDumpType> DwarfDumpType;
+extern cl::list<std::string> FilterSections;
+extern cl::list<std::string> MAttrs;
+extern cl::opt<std::string> MCPU;
+extern cl::opt<bool> NoShowRawInsn;
+extern cl::opt<bool> NoLeadingAddr;
+extern cl::opt<bool> PrintImmHex;
+extern cl::opt<bool> PrivateHeaders;
+extern cl::opt<bool> Relocations;
+extern cl::opt<bool> SectionHeaders;
+extern cl::opt<bool> SectionContents;
+extern cl::opt<bool> SymbolTable;
+extern cl::opt<std::string> TripleName;
+extern cl::opt<bool> UnwindInfo;
+
+} // namespace objdump
typedef std::function<bool(llvm::object::SectionRef const &)> FilterPredicate;
More information about the llvm-commits
mailing list