llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.68k stars 11.86k forks source link

llvm-symbolizer --markup-filter does not adjust addresses without debug info #63178

Open mysterymath opened 1 year ago

mysterymath commented 1 year ago

If a lookup for debug info fails when symbolizing a log containing markup, a raw representation of the element is printed instead of a best effort version of the value. This makes sense for syntactic or semantic errors, but in cases where debug info simply cannot be found, there is still a good deal of information that the filter can print simply through the contextual markup elements. In particular, it can print addresses adjusted by the runtime memory layout of the process, which makes it easier to e.g. objdump the addresses later.

Fixing this should just be a matter of printing something like [[[PC <addr>]]] instead of the current printRawElement. In these cases the correct address has already been computed, so it should be a relatively straightforward change.

Reference: llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp Symbolizer Markup Format

llvmbot commented 1 year ago

@llvm/issue-subscribers-tools-llvm-symbolizer

llvmbot commented 1 year ago

Hi!

This issue may be a good introductory issue for people new to working on LLVM. If you would like to work on this issue, your first steps are:

1) Assign the issue to you. 2) Fix the issue locally. 3) Run the test suite locally. 3.1) Remember that the subdirectories under test/ create fine-grained testing targets, so you can e.g. use make check-clang-ast to only run Clang's AST tests. 4) Create a git commit 5) Run git clang-format HEAD~1 to format your changes. 6) Submit the patch to Phabricator. 6.1) Detailed instructions can be found here

For more instructions on how to submit a patch to LLVM, see our documentation.

If you have any further questions about this issue, don't hesitate to ask via a comment on this Github issue.

@llvm/issue-subscribers-good-first-issue

cchung100m commented 1 year ago

Hi @mysterymath

I am new to LLVM and interested in beginner issue to start with. Could you assign this issue to me for practicing the contribution process?

thetazero commented 1 year ago

Doesn't look like this is still active, could I take this on @cchung100m?