[Issue 22081] DWARF v5 support is utterly broken - 'illegal instruction' when throwing exceptions

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Jun 24 03:00:53 UTC 2021


https://issues.dlang.org/show_bug.cgi?id=22081

Dlang Bot <dlang-bot at dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #2 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/druntime pull request #3502 "[stable] Fix Issue 22081 - Utterly broken
DWARF v5 support" was merged into stable:

- 5589d61648e9ee1ece36437dfbcaf24651a79f36 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/3502

--


More information about the Digitalmars-d-bugs mailing list