summaryrefslogtreecommitdiff
path: root/include/llvm/DebugInfo
diff options
context:
space:
mode:
authorEli Bendersky <eliben@google.com>2013-01-25 20:26:43 +0000
committerEli Bendersky <eliben@google.com>2013-01-25 20:26:43 +0000
commit939a4e8b693820d161f362317f7dba9057e66cc7 (patch)
treee9f235edbfd2e837ff68dcc3d0f8291e4f4b63b5 /include/llvm/DebugInfo
parent3b6a5eefe0ab2199bc69094b390b736ae332b905 (diff)
downloadllvm-939a4e8b693820d161f362317f7dba9057e66cc7.tar.gz
llvm-939a4e8b693820d161f362317f7dba9057e66cc7.tar.bz2
llvm-939a4e8b693820d161f362317f7dba9057e66cc7.tar.xz
Add command-line flags for DWARF dumping.
Flags for dumping specific DWARF sections added in lib/DebugInfo and llvm-dwarfdump. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173480 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/DebugInfo')
-rw-r--r--include/llvm/DebugInfo/DIContext.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/llvm/DebugInfo/DIContext.h b/include/llvm/DebugInfo/DIContext.h
index 5ebf4b0939..5cb1a17432 100644
--- a/include/llvm/DebugInfo/DIContext.h
+++ b/include/llvm/DebugInfo/DIContext.h
@@ -92,6 +92,22 @@ public:
}
};
+/// Selects which debug sections get dumped.
+enum DIDumpType {
+ DIDT_Null,
+ DIDT_All,
+ DIDT_Abbrev,
+ DIDT_AbbrevDwo,
+ DIDT_Aranges,
+ DIDT_Info,
+ DIDT_InfoDwo,
+ DIDT_Line,
+ DIDT_Ranges,
+ DIDT_Str,
+ DIDT_StrDwo,
+ DIDT_StrOffsetsDwo
+};
+
// In place of applying the relocations to the data we've read from disk we use
// a separate mapping table to the side and checking that at locations in the
// dwarf where we expect relocated values. This adds a bit of complexity to the
@@ -106,7 +122,7 @@ public:
/// getDWARFContext - get a context for binary DWARF data.
static DIContext *getDWARFContext(object::ObjectFile *);
- virtual void dump(raw_ostream &OS) = 0;
+ virtual void dump(raw_ostream &OS, DIDumpType DumpType = DIDT_All) = 0;
virtual DILineInfo getLineInfoForAddress(uint64_t Address,
DILineInfoSpecifier Specifier = DILineInfoSpecifier()) = 0;