[Issue 22081] DWARF v5 support is utterly broken - 'illegal instruction' when throwing exceptions
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Jul 24 17:57:11 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22081
--- Comment #3 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/druntime pull request #3515 "merge stable" was merged into master:
- 414316556aa95fa5b3b03a558479ecd4ccacb86e by Martin Kinkelin:
Fix Issue 22081 - Utterly broken DWARF v5 support
This has actually been tested to work with LDC, fixing the `assert(0)`
and **numerous** terrible issues of #3189 after looking at the DWARF v5
spec (section 6.2.4).
LLVM apparently puts all directory/file name strings into the new
.debug_line_str section (DW_FORM_line_strp form code, one of various
encoding options); reading the strings from there would require mmapping
that section too, not just the .debug_line one.
So at least with LLVM, *all* source file paths (of according DWARF v5
line-number programs) in the exception backtrace string currently show
up as `<unknown dir>/<unknown file>`.
- 56bfaaf03c9ff8ea3a1c9bcf41259c941cccef26 by Martin Kinkelin:
Fix Issue 22081 - Utterly broken DWARF v5 support
This has actually been tested to work with LDC, fixing the `assert(0)`
and **numerous** terrible issues of #3189 after looking at the DWARF v5
spec (section 6.2.4).
LLVM apparently puts all directory/file name strings into the new
.debug_line_str section (DW_FORM_line_strp form code, one of various
encoding options); reading the strings from there would require mmapping
that section too, not just the .debug_line one.
So at least with LLVM, *all* source file paths (of according DWARF v5
line-number programs) in the exception backtrace string currently show
up as `<unknown dir>/<unknown file>`.
https://github.com/dlang/druntime/pull/3515
--
More information about the Digitalmars-d-bugs
mailing list