[Lldb-commits] [PATCH] D71003: [lldb/DWARF] Switch to llvm location list parser

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Dec 4 04:34:30 PST 2019


labath created this revision.
labath added reviewers: JDevlieghere, aprantl, clayborg.
Herald added a project: LLDB.
labath added a parent revision: D70532: [lldb] Improve/fix base address selection in location lists.

This patch deletes the lldb location list parser and teaches the
DWARFExpression class to use the parser in llvm instead. I have
centralized all the places doing the parsing into a single
GetLocationExpression function.

In theory the the actual location list parsing should be covered by llvm
tests, and this glue code by our existing location list tests, but since
we don't have that many location list tests, I've tried to extend the
coverage a bit by adding some explicit dwarf5 loclist handling and a
test of the dumping code.

For DWARF4 location lists this should be NFC (modulo small differences
in error handling which should only show up on invalid inputs). In case
of DWARF5, this fixes various missing bits of functionality, most
notably, the lack of support for DW_LLE_offset_pair.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71003

Files:
  lldb/include/lldb/Expression/DWARFExpression.h
  lldb/source/Expression/DWARFExpression.cpp
  lldb/test/Shell/SymbolFile/DWARF/debug_loc.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71003.232083.patch
Type: text/x-patch
Size: 24968 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191204/5c68cb12/attachment-0001.bin>


More information about the lldb-commits mailing list