On 29 June 2013 06:42, deadalnix <[email protected]> wrote: > 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.
If DMD wants to go down the route of pulling in third party dependencies. :o) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';
