On Wed, 15 Jan 2014 22:55:27 +0100, Mark Wielaard wrote:
I forgot about that one. It is completely different from what we
since it was designed to be used in-process and doesn't actually do
unwinding (it just uses the system/libgcc _Unwind_Backtrace to get the
raw call stack). Since it is in-process and could be called from a
signal handler it also needs to do everything in a signal safe way.
While GCC uses it for self-unwind via backtrace_full()->_Unwind_Backtrace()
libbacktrace is not bound to such use.
libbacktrace provides also backtrace_pcinfo() where one can feed arbitrary
sequence of PC addresses. Also backtrace_create_state() can specify arbitrary
ELF filename (and not just the default "/proc/self/exe").
I do not see now how to specify different filenames for different PCs during
the backtrace but that could be at least easily patched/improved.
I do not push for libbacktrace but I still see it as a valid option.