Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2 |
|
#
0886440e |
| 05-Aug-2024 |
Amit Kumar Pandey <137622562+ampandey-1995@users.noreply.github.com> |
[Symbolizer] Support for Missing Line Numbers. (#82240)
LLVM Symbolizer attempt to symbolize addresses of optimized binaries
reports missing line numbers for some cases. It maybe due to compiler
w
[Symbolizer] Support for Missing Line Numbers. (#82240)
LLVM Symbolizer attempt to symbolize addresses of optimized binaries
reports missing line numbers for some cases. It maybe due to compiler
which sometimes cannot map an instruction to line number due to
optimizations. Symbolizer should handle those cases gracefully.
Adding an option '--skip-line-zero' to symbolizer so as to report the
nearest non-zero line number.
---------
Co-authored-by: Amit Pandey <amit.pandey@amd.com>
show more ...
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1 |
|
#
e144ae54 |
| 03-Apr-2023 |
Serge Pavlov <sepavloff@gmail.com> |
[symbolizer] Support symbol lookup
Recent versions of GNU binutils starting from 2.39 support symbol+offset lookup in addition to the usual numeric address lookup. This change adds symbol lookup to
[symbolizer] Support symbol lookup
Recent versions of GNU binutils starting from 2.39 support symbol+offset lookup in addition to the usual numeric address lookup. This change adds symbol lookup to llvm-symbolize and llvm-addr2line.
Now llvm-symbolize behaves closer to GNU addr2line, - if the value specified as address in command line or input stream is not a number, it is treated as a symbol name. For example:
llvm-symbolize --obj=abc.so func_22 llvm-symbolize --obj=abc.so "CODE func_22"
This lookup is now supported only for functions. Specification with offset is not supported yet.
This is a recommit of 2b27948783e4bbc1132d3220d8517ef62607b558, reverted in 39fec5457c0925bd39f67f63fe17391584e08258 because the test llvm/test/Support/interrupts.test started failing on Windows. The test was changed in 18f036d0105589c3175bb51a518c5d272dae61e2 and is also updated in this commit.
Differential Revision: https://reviews.llvm.org/D149759
show more ...
|
#
39fec545 |
| 02-Oct-2023 |
Serge Pavlov <sepavloff@gmail.com> |
Revert "[symbolizer] Support symbol lookup"
This reverts commit 2b27948783e4bbc1132d3220d8517ef62607b558. On some buildbots the test LLVM::interrupts.test start failing.
|
#
2b279487 |
| 03-Apr-2023 |
Serge Pavlov <sepavloff@gmail.com> |
[symbolizer] Support symbol lookup
Recent versions of GNU binutils starting from 2.39 support symbol+offset lookup in addition to the usual numeric address lookup. This change adds symbol lookup to
[symbolizer] Support symbol lookup
Recent versions of GNU binutils starting from 2.39 support symbol+offset lookup in addition to the usual numeric address lookup. This change adds symbol lookup to llvm-symbolize and llvm-addr2line.
Now llvm-symbolize behaves closer to GNU addr2line, - if the value specified as address in command line or input stream is not a number, it is treated as a symbol name. For example:
llvm-symbolize --obj=abc.so func_22 llvm-symbolize --obj=abc.so "CODE func_22"
This lookup is now supported only for functions. Specification with offset is not supported yet.
Differential Revision: https://reviews.llvm.org/D149759
show more ...
|
#
1792852f |
| 30-Aug-2023 |
Serge Pavlov <sepavloff@gmail.com> |
[symbolizer] Change reaction on invalid input
If llvm-symbolizer finds a malformed command, it echoes it to the standard output. New versions of binutils (starting from 2.39) allow to specify an add
[symbolizer] Change reaction on invalid input
If llvm-symbolizer finds a malformed command, it echoes it to the standard output. New versions of binutils (starting from 2.39) allow to specify an address by a symbols. Implementation of this feature in llvm-symbolizer makes the current reaction on invalid input inappropriate. Almost any invalid command may be treated as a symbol name, so the right reaction should be "symbol not found" in such case.
The exception are commands that are recognized but have incorrect syntax, like "FILE:FILE:". The utility must produce descriptive diagnostic for such input and route it to the stderr.
This change implements the new reaction on invalid input and is a prerequisite for implementation of symbol lookup in llvm-symbolizer.
Differential Revision: https://reviews.llvm.org/D157210
show more ...
|
#
32870da3 |
| 14-Aug-2023 |
Chris Cotter <ccotter14@bloomberg.net> |
Fix typos in documentation
|
#
9a8f7f2f |
| 13-Aug-2023 |
Douglas Yung <douglas.yung@sony.com> |
Revert "[symbolizer] Change reaction on invalid input"
This reverts commit a5fe6c7f5e2d1d265bd7c312ef55259fee7a68f9.
This change is causing problems with Windows build bots due to a hanging zombie
Revert "[symbolizer] Change reaction on invalid input"
This reverts commit a5fe6c7f5e2d1d265bd7c312ef55259fee7a68f9.
This change is causing problems with Windows build bots due to a hanging zombie llvm-symbolizer.exe process.
show more ...
|
#
a5fe6c7f |
| 12-Aug-2023 |
Serge Pavlov <sepavloff@gmail.com> |
[symbolizer] Change reaction on invalid input
If llvm-symbolizer finds a malformed command, it echoes it to the standard output. New versions of binutils (starting from 2.39) allow to specify an add
[symbolizer] Change reaction on invalid input
If llvm-symbolizer finds a malformed command, it echoes it to the standard output. New versions of binutils (starting from 2.39) allow to specify an address by a symbols. Implementation of this feature in llvm-symbolizer makes the current reaction on invalid input inappropriate. Almost any invalid command may be treated as a symbol name, so the right reaction should be "symbol not found" in such case.
The exception are commands that are recognized but have incorrect syntax, like "FILE:FILE:". The utility must produce descriptive diagnostic for such input and route it to the stderr.
This change implements the new reaction on invalid input and is a prerequisite for implementation of symbol lookup in llvm-symbolizer.
Differential Revision: https://reviews.llvm.org/D157210
show more ...
|
Revision tags: llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
d033ece0 |
| 23-Aug-2022 |
Daniel Thornburgh <dthorn@google.com> |
[llvm-objdump] Find debug information with Build ID/debuginfod.
Uses the library introduced in https://reviews.llvm.org/D132504 to add build ID fetching to llvm-objdump. This allows viewing source w
[llvm-objdump] Find debug information with Build ID/debuginfod.
Uses the library introduced in https://reviews.llvm.org/D132504 to add build ID fetching to llvm-objdump. This allows viewing source when disassembling stripped objects.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D131224
show more ...
|
Revision tags: llvmorg-15.0.0-rc2 |
|
#
ea992255 |
| 05-Aug-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolizer] Handle {{{bt}}} symbolizer markup element.
This adds support for backtrace generation to the llvm-symbolizer markup filter, which is likely the largest use case.
Reviewed By: peter.smi
[Symbolizer] Handle {{{bt}}} symbolizer markup element.
This adds support for backtrace generation to the llvm-symbolizer markup filter, which is likely the largest use case.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D132706
show more ...
|
#
bf48b128 |
| 01-Aug-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolizer] Implement pc element in symbolizing filter.
Implements the pc element for the symbolizing filter, including it's "ra" and "pc" modes. Return addresses ("ra") are adjusted by decrementin
[Symbolizer] Implement pc element in symbolizing filter.
Implements the pc element for the symbolizing filter, including it's "ra" and "pc" modes. Return addresses ("ra") are adjusted by decrementing one. By default, {{{pc}}} elements are assumed to point to precise code ("pc") locations. Backtrace elements will adopt the opposite convention.
Along the way, some minor refactors of value printing and colorization.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D131115
show more ...
|
Revision tags: llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
22df238d |
| 19-Jul-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolizer] Implement data symbolizer markup element.
This connects the Symbolizer to the markup filter and enables the first working end-to-end flow using the filter.
Reviewed By: peter.smith
Di
[Symbolizer] Implement data symbolizer markup element.
This connects the Symbolizer to the markup filter and enables the first working end-to-end flow using the filter.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D130187
show more ...
|
Revision tags: llvmorg-14.0.6 |
|
#
17e4c217 |
| 10-Jun-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolizer] Implement contextual symbolizer markup elements.
This change implements the contextual symbolizer markup elements: reset, module, and mmap. These provide information about the runtime c
[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
show more ...
|
Revision tags: llvmorg-14.0.5, llvmorg-14.0.4 |
|
#
eb5af0ac |
| 04-May-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolize] Add log markup --filter to llvm-symbolizer.
This adds a --filter option to llvm-symbolizer. This takes log-bearing symbolizer markup from stdin and writes a human-readable version to std
[Symbolize] Add log markup --filter to llvm-symbolizer.
This adds a --filter option to llvm-symbolizer. This takes log-bearing symbolizer markup from stdin and writes a human-readable version to stdout.
For now, this only implements the "symbol" markup tag; all others are passed through unaltered. This is a proof-of-concept bit of functionalty; implement the various tags is more-or-less just a matter of hooking up various parts of the Symbolize library to the architecture established here.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D126980
show more ...
|
Revision tags: llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
565add5a |
| 15-Feb-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Debuginfod] Add BUILD_ID syntax to llvm-symbolizer.
This adds a BUILD_ID prefix to the llvm-symbolizer stdin and argument syntax. The prefix causes the given binary name to be interpreted as a buil
[Debuginfod] Add BUILD_ID syntax to llvm-symbolizer.
This adds a BUILD_ID prefix to the llvm-symbolizer stdin and argument syntax. The prefix causes the given binary name to be interpreted as a build ID instead of an object file path. The semantics are analagous to the behavior of --obj and --build-id.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D119901
show more ...
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
694f3845 |
| 31-Jan-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Debuginfod] Flag-determine debuginfod lookups in llvm-symbolizer.
This change adds a pair of flags controlling whether llvm-symbolizer attempts debuginfod lookups. Lookups are attempted if --debugi
[Debuginfod] Flag-determine debuginfod lookups in llvm-symbolizer.
This change adds a pair of flags controlling whether llvm-symbolizer attempts debuginfod lookups. Lookups are attempted if --debuginfod is passed and disabled if --no-debuginfod is passed.
The default behavior is made more nuanced: debuginfod lookups are now only attempted if an HTTP client is compiled in and at least one backing debuginfod URL was configured via environment variable. Previously, debuginfod lookups would always be attempted, even if there were no chance that they could succeed.
Reviewed By: phosek
Differential Revision: https://reviews.llvm.org/D118665
show more ...
|
#
dcd4950d |
| 21-Jan-2022 |
Daniel Thornburgh <dthorn@google.com> |
[Symbolizer] Add Build ID flag to llvm-symbolizer.
This adds a --build-id=<hex build ID> flag to llvm-symbolizer. If --obj is unspecified, this will attempt to look up the provided build ID using wh
[Symbolizer] Add Build ID flag to llvm-symbolizer.
This adds a --build-id=<hex build ID> flag to llvm-symbolizer. If --obj is unspecified, this will attempt to look up the provided build ID using whatever mechanisms are available to the Symbolizer (typically, debuginfod). The semantics are then as if the found binary were given using the --obj flag.
Reviewed By: jhenderson, phosek
Differential Revision: https://reviews.llvm.org/D118633
show more ...
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
9094a228 |
| 07-Dec-2021 |
gbreynoo <Owen.Reynolds@sony.com> |
[llvm-symbolizer][docs] Update --output-style=JSON example
The fields output when using --output-style=JSON has changed but the guide wasn't updated. This change fixes up the example.
Differential
[llvm-symbolizer][docs] Update --output-style=JSON example
The fields output when using --output-style=JSON has changed but the guide wasn't updated. This change fixes up the example.
Differential Revision: https://reviews.llvm.org/D115164
show more ...
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
0c660256 |
| 15-Nov-2021 |
Shao-Ce SUN <shaoce@nj.iscas.ac.cn> |
[NFC] Trim trailing whitespace in *.rst
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
#
d02bf362 |
| 11-Jun-2021 |
Andrew Ng <andrew.ng@sony.com> |
[llvm-symbolizer][docs] Update example for --verbose in the guide
Differential Revision: https://reviews.llvm.org/D104128
|
#
dbc07ef5 |
| 11-Jun-2021 |
Ben Dunbobbin <Ben.Dunbobbin@sony.com> |
[llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change
I believe that after https://reviews.llvm.org/D102355 the behaviour of --print-source-co
[llvm-symbolizer] improve test and fix doc example after recent --print-source-context-lines behaviour change
I believe that after https://reviews.llvm.org/D102355 the behaviour of --print-source-context-lines has changed.
Before: --print-source-context-lines=3 prints 4 lines. After: --print-source-context-lines=3 prints 3 lines.
Adjust the example in the docs for this change and make the testing a little more robust.
Differential Revision: https://reviews.llvm.org/D104114
show more ...
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
4fedb3a6 |
| 18-May-2021 |
Alex Orlov <aorlov@accesssoftek.com> |
[symbolizer] Added StartAddress for the resolved function.
In many cases it is helpful to know at what address the resolved function starts. This patch adds a new StartAddress member to the DILineIn
[symbolizer] Added StartAddress for the resolved function.
In many cases it is helpful to know at what address the resolved function starts. This patch adds a new StartAddress member to the DILineInfo structure.
Reviewed By: jhenderson, dblaikie
Differential Revision: https://reviews.llvm.org/D102316
show more ...
|
#
05d1ae4e |
| 11-May-2021 |
Alex Orlov <aorlov@accesssoftek.com> |
* Add support for JSON output style to llvm-symbolizer
This patch adds JSON output style to llvm-symbolizer to better support CLI automation by providing a machine readable output.
Reviewed By: jhe
* Add support for JSON output style to llvm-symbolizer
This patch adds JSON output style to llvm-symbolizer to better support CLI automation by providing a machine readable output.
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D96883
show more ...
|
#
2aa5f9b4 |
| 10-May-2021 |
gbreynoo <Owen.Reynolds@sony.com> |
[llvm-symbolizer] Update Command Guide
The option --use-symbol-table is now a noop and does not appear in the help text, however it still appears in the command guide. This change removes it from th
[llvm-symbolizer] Update Command Guide
The option --use-symbol-table is now a noop and does not appear in the help text, however it still appears in the command guide. This change removes it from the command guide and updates the description of --output-style .
Differential Revision: https://reviews.llvm.org/D102078
show more ...
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1 |
|
#
f07403eb |
| 12-Jan-2021 |
James Henderson <james.henderson@sony.com> |
[llvm-symbolizer][doc] Reorder --relativenames in options list
This puts it in alphabetical order, matching the rest of the list.
Reviewed by: MaskRay, saugustine
Differential Revision: https://re
[llvm-symbolizer][doc] Reorder --relativenames in options list
This puts it in alphabetical order, matching the rest of the list.
Reviewed by: MaskRay, saugustine
Differential Revision: https://reviews.llvm.org/D94481
show more ...
|