[all-commits] [llvm/llvm-project] 17e4c2: [Symbolizer] Implement contextual symbolizer marku...

Daniel Thornburgh via All-commits all-commits at lists.llvm.org
Thu Jul 21 11:29:31 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 17e4c217b66305e60657a48f10fe3c428c2fe4d2
      https://github.com/llvm/llvm-project/commit/17e4c217b66305e60657a48f10fe3c428c2fe4d2
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2022-07-21 (Thu, 21 Jul 2022)

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

  Log Message:
  -----------
  [Symbolizer] Implement contextual symbolizer markup elements.

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.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D129519




More information about the All-commits mailing list