On 30.11.2011, at 02:57, Kostya Serebryany <[email protected]> wrote:

Hello,

I am working on integrating AddressSanitizer (aka asan,
http://clang.llvm.org/docs/AddressSanitizer.html) run-time library with the
llvm compiler-rt.
Asan needs to symbolize PCs, i.e. given a value of a PC it needs to produce
the file name and the line number (if debug info is present).
Currently, this is achieved by printing the PCs as
/path/to/object/file+offset and filtering the output with a script which
uses addr2line/atos.
Ideally, symbolization should happen inside the process and should not
require post processing.

I would expect that lldb already has such functionality, right?
Somewhere in include/lldb/Symbol/Symtab.h?
Does it work on both Linux and Mac?
Do you think that it is possible/desirable to have this kind of code
sharing between lldb and asan?
Will that work with the current build system (where lldb and
compiler-rt/lib/asan are separate subprojects)?


I recently extracted the DWARF parsing that's necessary to get line numbers
from addresses out of lldb into LLVM. Take a look at llvm-dwarfdump and the
DebugInfo library. It requires relocations to be resolved upfront though,
so it won't work on Linux out of the box (DWARF doesn't use relocations on
OS X).

-Ben
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to