diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-02-24 23:58:54 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-02-24 23:58:54 +0000 |
commit | 1d4736e0b10c28221a0d7007d45a1725de7be14a (patch) | |
tree | 4aec673cd7bc0a91b023baa321705b84c55a13a0 /llvm/lib/DebugInfo/DWARFContext.cpp | |
parent | 509fe8fd63669ec89e82be63eb7e80a682db4eac (diff) | |
download | bcm5719-llvm-1d4736e0b10c28221a0d7007d45a1725de7be14a.tar.gz bcm5719-llvm-1d4736e0b10c28221a0d7007d45a1725de7be14a.zip |
llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission.
llvm-svn: 202091
Diffstat (limited to 'llvm/lib/DebugInfo/DWARFContext.cpp')
-rw-r--r-- | llvm/lib/DebugInfo/DWARFContext.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/DWARFContext.cpp b/llvm/lib/DebugInfo/DWARFContext.cpp index b5b75b0408e..e17387b31d3 100644 --- a/llvm/lib/DebugInfo/DWARFContext.cpp +++ b/llvm/lib/DebugInfo/DWARFContext.cpp @@ -136,6 +136,16 @@ void DWARFContext::dump(raw_ostream &OS, DIDumpType DumpType) { } } + if (DumpType == DIDT_All || DumpType == DIDT_LineDwo) { + OS << "\n.debug_line.dwo contents:\n"; + unsigned stmtOffset = 0; + DataExtractor lineData(getLineDWOSection().Data, isLittleEndian(), + savedAddressByteSize); + DWARFDebugLine::DumpingState state(OS); + while (DWARFDebugLine::parsePrologue(lineData, &stmtOffset, &state.Prologue)) + state.finalize(); + } + if (DumpType == DIDT_All || DumpType == DIDT_Str) { OS << "\n.debug_str contents:\n"; DataExtractor strData(getStringSection(), isLittleEndian(), 0); @@ -645,6 +655,7 @@ DWARFContextInMemory::DWARFContextInMemory(object::ObjectFile *Obj) : .Case("debug_gnu_pubtypes", &GnuPubTypesSection) .Case("debug_info.dwo", &InfoDWOSection.Data) .Case("debug_abbrev.dwo", &AbbrevDWOSection) + .Case("debug_line.dwo", &LineDWOSection.Data) .Case("debug_str.dwo", &StringDWOSection) .Case("debug_str_offsets.dwo", &StringOffsetDWOSection) .Case("debug_addr", &AddrSection) |