[llvm-commits] [Sanitizer] PATCH: external llvm-symbolizer tool for sanitizers
samsonov at google.com
Thu Aug 23 03:58:27 PDT 2012
And a follow-up from looking at the output. File/line numbers seem to be
fetched correctly, but that isn't always true for function names:
if instruction belongs to inlined instance of a function, then we may (and
often do) instead return the function it is inlined into. This
should be fixed in DebugInfo library, I'll work on that.
On Thu, Aug 23, 2012 at 2:30 PM, Kostya Serebryany <kcc at google.com> wrote:
> Excellent numbers!
> addr2line performance and memory usage has been the greatest inconvenience
> for many users.
> Please commit unless there are objections from someone else.
> On Thu, Aug 23, 2012 at 2:05 PM, Alexey Samsonov <samsonov at google.com>wrote:
>> For the record, I've ran some measurements on Chromium (fetched random
>> instruction addresses from binary and symbolized them with a tool):
>> chrome + "-gline-tables-only" (0.5G binary)
>> tool # of addresses time memory
>> addr2line 1 0m16.803s
>> symbolizer 1 0m0.501s
>> addr2line 100 0m22.474s
>> symbolizer 100 0m1.417s
>> addr2line 10k 1m45.055s 2.1G
>> symbolizer 10k 1m23.271s 440 Mb
>> chrome + "-g" (2G binary):
>> addr2line 1 0m36.101s
>> symbolizer 1 0m10.101s
>> addr2line 100 0m46.125s
>> symbolizer 100 0m10.005s
>> addr2line 10k 2m32.614s 9.2G
>> symbolizer 10k 1m41.288s 3.9G
>> On Tue, Aug 21, 2012 at 7:34 PM, Alexey Samsonov <samsonov at google.com>wrote:
>>> This code contains a stand-alone file that makes use of existing LLVM
>>> libraries to symbolize instruction addresses of a module.
>>> Though it looks like an another llvm tool, we can temporary keep it at
>>> //projects/compiler-rt (as currently we're the only interested users,
>>> and we need to compile this tool for the same targets we build ASan/TSan
>>> for). This file may be run in a separate process, and
>>> communicate with caller via stdin/stdout. The key differences from
>>> addr2line is that the tool is capable of symbolizing code from
>>> different modules and is able to consult both symbol table and debug
>>> info for fetching function name (which would be helpful
>>> if the binary is compiled with -gline-tables-only).
>>> Code review: http://codereview.appspot.com/6465080/
>>> Alexey Samsonov, MSK
>> Alexey Samsonov, MSK
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits