On 08/29/2012 09:22 AM, Ian Lance Taylor wrote:
It uses the GCC unwind interface to collect a stack trace, and parses DWARF debug info to get file/line/function information. (Of course it's silly to write yet another DWARF reader, but I didn't find an existing reader that seemed wholly suitable.) The code currently only works for ELF/DWARF, but it's designed to support other object file and debug formats should anybody care to write them. Since its use in GCC would be purely for GCC developers, it's not essential that it be fully portable.
Sorry for not actually testing the patch, but does it handle inline functions? ("addr2line -i" can print multiple source locations for a single stack frame.)
Support for /usr/lib/debug would be desirable, too. -- Florian Weimer / Red Hat Product Security Team