With --enable-bfd-backtraces, use binutils libbfd to resolve backtraces

The invocation of addr2line to resolve backtrace source locations
is slow and cumbersome. When using libbfd directly, we can eliminate
the overhead of the process invocation. Even better, we can cache
library symbol names, bringing wicked fast lookups. As a neat bonus,
we can resolve static function names.
This commit is contained in:
Martin Willi
2012-07-13 13:23:29 +02:00
parent b46776aea1
commit 4c6c934635
5 changed files with 296 additions and 29 deletions
+10
View File
@@ -86,4 +86,14 @@ backtrace_t *backtrace_create(int skip);
*/
void backtrace_dump(char *label, FILE *file, bool detailed);
/**
* Initialize backtracing framework.
*/
void backtrace_init();
/**
* Deinitialize backtracing framework.
*/
void backtrace_deinit();
#endif /** BACKTRACE_H_ @}*/