digitalmars.D - Why are we not using libbacktrace for backtrace?
- Yuxuan Shui (5/5) Jun 13 2018 Just ran into a problem where program will crash during stack
- Joakim (3/8) Jun 13 2018 Druntime does use externally supplied backtrace, if available:
- Joakim (4/13) Jun 13 2018 Hmm, but not on DWARF platforms like linux or macOS, I see what
- Johannes Pfau (7/13) Jun 14 2018 GDC uses libbacktrace since 2013: https://github.com/D-Programming-GDC/
- Yuxuan Shui (4/17) Jun 14 2018 libbacktrace is a standalone library:
- Johannes Pfau (11/31) Jun 14 2018 It was initially developed for GCC and only available in the GCC tree.
Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?
Jun 13 2018
On Thursday, 14 June 2018 at 01:19:30 UTC, Yuxuan Shui wrote:Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?Druntime does use externally supplied backtrace, if available: https://github.com/dlang/druntime/blob/master/src/core/runtime.d#L727
Jun 13 2018
On Thursday, 14 June 2018 at 05:42:22 UTC, Joakim wrote:On Thursday, 14 June 2018 at 01:19:30 UTC, Yuxuan Shui wrote:Hmm, but not on DWARF platforms like linux or macOS, I see what you mean. Should be pretty easy for you to modify that code to do what you want though.Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?Druntime does use externally supplied backtrace, if available: https://github.com/dlang/druntime/blob/master/src/core/runtime.d#L727
Jun 13 2018
Am Thu, 14 Jun 2018 01:19:30 +0000 schrieb Yuxuan Shui:Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?GDC uses libbacktrace since 2013: https://github.com/D-Programming-GDC/ GDC/blob/master/libphobos/libdruntime/gcc/backtrace.d I think the main problem for DMD/LDC is that libbacktrace is not an installed library, it's only available while building GCC. -- Johannes
Jun 14 2018
On Thursday, 14 June 2018 at 17:26:50 UTC, Johannes Pfau wrote:Am Thu, 14 Jun 2018 01:19:30 +0000 schrieb Yuxuan Shui:libbacktrace is a standalone library: https://github.com/ianlancetaylor/libbacktrace GCC is using it.Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?GDC uses libbacktrace since 2013: https://github.com/D-Programming-GDC/ GDC/blob/master/libphobos/libdruntime/gcc/backtrace.d I think the main problem for DMD/LDC is that libbacktrace is not an installed library, it's only available while building GCC.
Jun 14 2018
Am Thu, 14 Jun 2018 20:57:05 +0000 schrieb Yuxuan Shui:On Thursday, 14 June 2018 at 17:26:50 UTC, Johannes Pfau wrote:It was initially developed for GCC and only available in the GCC tree. Ian Lance Taylor is a GCC developer. However, my point is that libbacktrace does not install as a .so shared library. Try to find packages for debian, rhel, ... It's just not distributed. As there is a standalone github repo now, the DMD builds could probably compile the source code into libdruntime like GCC does, but it's not as simple as linking a library. -- JohannesAm Thu, 14 Jun 2018 01:19:30 +0000 schrieb Yuxuan Shui:libbacktrace is a standalone library: https://github.com/ianlancetaylor/libbacktrace GCC is using it.Just ran into a problem where program will crash during stack trace. Turns out not only does druntime not support compressed debug info, it cannot handle it at all. So I was thinking why don't we use a existing and proven library for this, instead of roll our own?GDC uses libbacktrace since 2013: https://github.com/D-Programming-GDC/ GDC/blob/master/libphobos/libdruntime/gcc/backtrace.d I think the main problem for DMD/LDC is that libbacktrace is not an installed library, it's only available while building GCC.
Jun 14 2018