[PATCH] D139859: [llvm-symbolize] Allow finding location of a symbol

Serge Pavlov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 12 10:17:05 PST 2022


sepavloff created this revision.
sepavloff added reviewers: mysterymath, MaskRay, dblaikie, ikudrin, dvyukov.
Herald added subscribers: StephenFan, hiraditya.
Herald added a reviewer: jhenderson.
Herald added a project: All.
sepavloff requested review of this revision.
Herald added a project: LLVM.

The tool llvm-symbolize translates a code address to corresponding
function and finds information about location of that function in sources.
In some cases the address to function translation requires custom
procedure and is made separately so that only translation of function name
to source information is needed.

This change implements such translation in llvm-symbolize using command
SYMBOL, like in the example:

  llvm-symbolize --obj=abc.so "SYMBOL func_22"

The translation is supported for functions only and requires
availability of DWARF debug information.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139859

Files:
  llvm/include/llvm/DebugInfo/DIContext.h
  llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
  llvm/include/llvm/DebugInfo/PDB/PDBContext.h
  llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
  llvm/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h
  llvm/include/llvm/DebugInfo/Symbolize/SymbolizableObjectFile.h
  llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
  llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
  llvm/lib/DebugInfo/PDB/PDBContext.cpp
  llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
  llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
  llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
  llvm/test/tools/llvm-symbolizer/Inputs/symbols.h
  llvm/test/tools/llvm-symbolizer/Inputs/symbols.part1.cpp
  llvm/test/tools/llvm-symbolizer/Inputs/symbols.part2.cpp
  llvm/test/tools/llvm-symbolizer/Inputs/symbols.so
  llvm/test/tools/llvm-symbolizer/symbol-search.test
  llvm/tools/llvm-symbolizer/Opts.td
  llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
  llvm/unittests/ProfileData/MemProfTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139859.482181.patch
Type: text/x-patch
Size: 30213 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221212/736c34e1/attachment-0001.bin>


More information about the llvm-commits mailing list