[Lldb-commits] [PATCH] D56595: SymbolFileBreakpad: Add line table support

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Jan 29 09:20:09 PST 2019


labath updated this revision to Diff 184103.
labath added a comment.

It took me a while to get back to this, but I believe this version now does what
we want. It creates a compile unit for each function. The compile units are
created as soon as the symbol file is initialized (it's needed to get the number
of compile units). The global list of support files is also parsed at this time
(needed to get the compile unit name). The list of support files and line tables
is created lazily for those compile units that need them.

A new element here is the "bookmark" class, which allows us to efficiently go
back the to place where the line tables for a given function/compile unit are
defined and parse those.

I added a couple of new tests to exercise handling of odd or broken minidump
files.

Let me know what you think.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56595/new/

https://reviews.llvm.org/D56595

Files:
  include/lldb/Core/FileSpecList.h
  include/lldb/Core/RangeMap.h
  lit/SymbolFile/Breakpad/Inputs/line-table-discontinuous-file-ids.syms
  lit/SymbolFile/Breakpad/Inputs/line-table-edgecases.syms
  lit/SymbolFile/Breakpad/Inputs/line-table-missing-file.syms
  lit/SymbolFile/Breakpad/Inputs/line-table.syms
  lit/SymbolFile/Breakpad/line-table-discontinuous-file-ids.test
  lit/SymbolFile/Breakpad/line-table-edgecases.test
  lit/SymbolFile/Breakpad/line-table-missing-file.test
  lit/SymbolFile/Breakpad/line-table.test
  source/Core/FileSpecList.cpp
  source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
  source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56595.184103.patch
Type: text/x-patch
Size: 29154 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190129/f3b3c439/attachment-0001.bin>


More information about the lldb-commits mailing list