[llvm-commits] [Sanitizer] PATCH: external llvm-symbolizer tool for sanitizers

Alexey Samsonov samsonov at google.com
Thu Aug 23 03:05:38 PDT 2012


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:

> Hi!
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120823/99943932/attachment.html>


More information about the llvm-commits mailing list