On Friday, 28 June 2013 at 20:00:52 UTC, Johannes Pfau wrote:
Am Fri, 28 Jun 2013 11:12:25 -0700
schrieb Sean Kelly <[email protected]>:

If I remember correctly, the issue there was that the runtime would need to open the executable or map file and parse it, and it seemed a lot more straightforward to simply make an API call. But if you're
inclined to submit a pull request...

In the meantime the GCC guys have developed libbacktrace [1] for GCC 4.8 which does exactly that: map the executable, parse it and use the dwarf debug info and all that without malloc. We're currently integrating
this into GDC [2].

Unfortunately it's not as easy to integrate into dmd: It uses libgcc, the libbacktrace library is not installed in the target system (it's only available at gcc build time, we then just link it statically into
druntime) and you need a more advanced build system to check for
BACKTRACE_SUPPORTED in C headers.

[1] https://github.com/mirrors/gcc/tree/master/libbacktrace
[2] https://github.com/D-Programming-GDC/GDC/pull/65

https://github.com/bombela/backward-cpp

That may be relevant.

Reply via email to