summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp57
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp2
2 files changed, 19 insertions, 40 deletions
diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
index 39a035d8129..990104b71c7 100644
--- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
+++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
@@ -40,51 +40,23 @@ static cl::list<std::string>
InputFilenames(cl::Positional, cl::desc("<input object files or .dSYM bundles>"),
cl::ZeroOrMore);
-static cl::opt<DIDumpType> DumpType(
- "debug-dump", cl::init(DIDT_Null), cl::desc("Dump of debug sections:"),
- cl::values(
- clEnumValN(DIDT_All, "all", "Dump all debug sections"),
- clEnumValN(DIDT_Abbrev, "abbrev", ".debug_abbrev"),
- clEnumValN(DIDT_AbbrevDwo, "abbrev.dwo", ".debug_abbrev.dwo"),
- clEnumValN(DIDT_AppleNames, "apple_names", ".apple_names"),
- clEnumValN(DIDT_AppleTypes, "apple_types", ".apple_types"),
- clEnumValN(DIDT_AppleNamespaces, "apple_namespaces",
- ".apple_namespaces"),
- clEnumValN(DIDT_AppleObjC, "apple_objc", ".apple_objc"),
- clEnumValN(DIDT_Aranges, "aranges", ".debug_aranges"),
- clEnumValN(DIDT_Info, "info", ".debug_info"),
- clEnumValN(DIDT_InfoDwo, "info.dwo", ".debug_info.dwo"),
- clEnumValN(DIDT_Types, "types", ".debug_types"),
- clEnumValN(DIDT_TypesDwo, "types.dwo", ".debug_types.dwo"),
- clEnumValN(DIDT_Line, "line", ".debug_line"),
- clEnumValN(DIDT_LineDwo, "line.dwo", ".debug_line.dwo"),
- clEnumValN(DIDT_Loc, "loc", ".debug_loc"),
- clEnumValN(DIDT_LocDwo, "loc.dwo", ".debug_loc.dwo"),
- clEnumValN(DIDT_Frames, "frames", ".debug_frame"),
- clEnumValN(DIDT_Macro, "macro", ".debug_macinfo"),
- clEnumValN(DIDT_Ranges, "ranges", ".debug_ranges"),
- clEnumValN(DIDT_Pubnames, "pubnames", ".debug_pubnames"),
- clEnumValN(DIDT_Pubtypes, "pubtypes", ".debug_pubtypes"),
- clEnumValN(DIDT_GnuPubnames, "gnu_pubnames", ".debug_gnu_pubnames"),
- clEnumValN(DIDT_GnuPubtypes, "gnu_pubtypes", ".debug_gnu_pubtypes"),
- clEnumValN(DIDT_Str, "str", ".debug_str"),
- clEnumValN(DIDT_StrOffsets, "str_offsets", ".debug_str_offsets"),
- clEnumValN(DIDT_StrDwo, "str.dwo", ".debug_str.dwo"),
- clEnumValN(DIDT_StrOffsetsDwo, "str_offsets.dwo",
- ".debug_str_offsets.dwo"),
- clEnumValN(DIDT_CUIndex, "cu_index", ".debug_cu_index"),
- clEnumValN(DIDT_GdbIndex, "gdb_index", ".gdb_index"),
- clEnumValN(DIDT_TUIndex, "tu_index", ".debug_tu_index")));
+static cl::opt<bool> DumpAll("all", cl::desc("Dump all debug info sections"));
+static cl::alias DumpAllAlias("a", cl::desc("Alias for --all"),
+ cl::aliasopt(DumpAll));
+
+static uint64_t DumpType = DIDT_Null;
+#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME) \
+ static cl::opt<bool> Dump##ENUM_NAME( \
+ CMDLINE_NAME, cl::desc("Dump the " ELF_NAME " section"));
+#include "llvm/BinaryFormat/Dwarf.def"
+#undef HANDLE_DWARF_SECTION
static cl::opt<bool>
SummarizeTypes("summarize-types",
cl::desc("Abbreviate the description of type unit entries"));
-
static cl::opt<bool> Verify("verify", cl::desc("Verify the DWARF debug info"));
-
static cl::opt<bool> Quiet("quiet",
cl::desc("Use with -verify to not emit to STDOUT."));
-
static cl::opt<bool> Brief("brief", cl::desc("Print fewer low-level details"));
static void error(StringRef Filename, std::error_code EC) {
@@ -219,9 +191,16 @@ int main(int argc, char **argv) {
// Defaults to dumping all sections, unless brief mode is specified in which
// case only the .debug_info section in dumped.
+#define HANDLE_DWARF_SECTION(ENUM_NAME, ELF_NAME, CMDLINE_NAME) \
+ if (Dump##ENUM_NAME) \
+ DumpType |= DIDT_##ENUM_NAME;
+#include "llvm/BinaryFormat/Dwarf.def"
+#undef HANDLE_DWARF_SECTION
+ if (DumpAll)
+ DumpType = DIDT_All;
if (DumpType == DIDT_Null) {
if (Brief)
- DumpType = DIDT_Info;
+ DumpType = DIDT_DebugInfo;
else
DumpType = DIDT_All;
}
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index 579917550fa..6cb7dc4c74d 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -191,7 +191,7 @@ cl::opt<bool> PrintFaultMaps("fault-map-section",
cl::opt<DIDumpType> llvm::DwarfDumpType(
"dwarf", cl::init(DIDT_Null), cl::desc("Dump of dwarf debug sections:"),
- cl::values(clEnumValN(DIDT_Frames, "frames", ".debug_frame")));
+ cl::values(clEnumValN(DIDT_DebugFrames, "frames", ".debug_frame")));
cl::opt<bool> PrintSource(
"source",
OpenPOWER on IntegriCloud