[Lldb-commits] [PATCH] D62570: [WIP] Use LLVM's debug line parser in LLDB

Jonas Devlieghere via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue May 28 23:45:45 PDT 2019


JDevlieghere created this revision.
JDevlieghere added reviewers: labath, aprantl, clayborg, grimar, friss.
Herald added subscribers: llvm-commits, jdoerfert, abidh, mgorny.
Herald added projects: LLDB, LLVM.

The line number table header was substantially revised in DWARF 5, which is not supported by LLDB's current debug line parser. Given the relatively limited contact surface between the code to parse the debug line section and the rest of LLDB, this seems like a good candidate to replace with LLVM's implementation, which does support the new standard.

In its current state this patch is mostly a proof-of-concept to show that this transition is possible. There are currently 8 failing tests, all related to the file paths from the prologue. (I know because I did the change in two parts, first the line table entries, then the so-called *support files*) I have yet to look at the failures in detail, but they are related to rnglists and split DWARF. Additionally, I'll need to ensure that there's minimal duplicate work when creating an LLVM DWARFContext and CompileUnit. We should only be parsing the UnitDIE, which I think is reasonable.


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D62570

Files:
  lldb/include/lldb/Core/FileSpecList.h
  lldb/include/lldb/Core/Section.h
  lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
  lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
  lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62570.201830.patch
Type: text/x-patch
Size: 66524 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190529/d2ce5ea6/attachment-0001.bin>


More information about the lldb-commits mailing list