[PATCH] D129519: [Symbolizer] Implement contextual symbolizer markup elements.

Daniel Thornburgh via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 11 14:47:22 PDT 2022


mysterymath created this revision.
mysterymath added reviewers: peter.smith, phosek, mcgrathr.
Herald added subscribers: rupprecht, hiraditya.
Herald added a reviewer: jhenderson.
Herald added a project: All.
mysterymath requested review of this revision.
Herald added subscribers: llvm-commits, MaskRay.
Herald added a project: LLVM.

This change implements the contextual symbolizer markup elements: reset,
module, and mmap. These provide information about the runtime context of
the binary necessary to resolve addresses to symbolic values.

Summary information is printed to the output about this context.
Multiple mmap elements for the same module line are coalesced together.
The standard requires that such elements occur on their own lines to
allow for this; accordingly, anything after a contextual element on a
line is silently discarded.

Implementing this cleanly requires that the filter drive the parser;
this allows skipped sections to avoid being parsed. This also makes the
filter quite a bit easier to use, at the cost of some unused
flexibility.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D129519

Files:
  llvm/docs/CommandGuide/llvm-symbolizer.rst
  llvm/docs/SymbolizerMarkupFormat.rst
  llvm/include/llvm/DebugInfo/Symbolize/Markup.h
  llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
  llvm/lib/DebugInfo/Symbolize/Markup.cpp
  llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp
  llvm/test/DebugInfo/symbolize-filter-markup-context-line-elision.test
  llvm/test/DebugInfo/symbolize-filter-markup-mmap.test
  llvm/test/DebugInfo/symbolize-filter-markup-module.test
  llvm/test/DebugInfo/symbolize-filter-markup-parse-fields.test
  llvm/test/DebugInfo/symbolize-filter-markup-reset.test
  llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129519.443764.patch
Type: text/x-patch
Size: 29827 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220711/d9e031d3/attachment.bin>


More information about the llvm-commits mailing list