Bug 11660 – use newer DWARF version?

Status
NEW
Severity
normal
Priority
P3
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-12-01T14:56:38Z
Last change time
2024-12-13T18:14:49Z
Keywords
bootcamp, DebugInfo
Assigned to
No Owner
Creator
Martin Nowak
Moved to GitHub: dmd#18731 →

Comments

Comment #0 by code — 2013-12-01T14:56:38Z
DWARF4 adds some improvements to allow richer debug information and better compression. If it's properly supported by most debuggers we should consider to upgrade.
Comment #1 by ibuclaw — 2014-02-14T02:43:45Z
I'd ensure that you have complete DWARFv3 support first before jumping over to DWARFv4.
Comment #2 by code — 2014-02-14T03:09:58Z
Why? What tools can use Dwarf 3? The more interesting stuff that allows D's arrays is only available with version 4.
Comment #3 by ibuclaw — 2014-02-14T03:52:23Z
As in, make sure that you at least implement types that can be represented as of DWARFv3, but for whatever reason DMD doesn't do it (eg: enums) I'm not sure how you would represent D arrays differently from a DW_TAG_structure_type.
Comment #4 by code — 2014-12-30T15:46:03Z
Looks like DW_TAG_array_type and DW_AT_data_location are already present in DWARF3.
Comment #5 by pro.mathias.lang — 2020-05-01T07:44:12Z
It's 2020, DWARF3 was released 2005-12-05, DWARF4 was released 2010-06-10, and DWARF5 was released 2017-02-13. DMD still emits DWARF3 (https://github.com/dlang/dmd/blob/0d7e5ba824b6977862c9e9587e70aab0a52b6d82/src/dmd/backend/dwarf.d#L19), and the druntime stack unwinder is able to consume up to DWARF4 (https://github.com/dlang/druntime/blob/fa3eeed29b5d892da921c585e6526635475059a4/src/rt/backtrace/dwarf.d#L525-L527) although I don't think it would handle DWARF1/2 correctly from a quick look. LDC / GDC should be able to emit newer DWARF infos thanks to support being implemented in their backend, but it would be nice if someone could freshen up the DMD debug infos. Since it's an "easy" (as in, no need for design, only understanding how DWARF works) issue, adding the "bootcamp" label.
Comment #6 by robert.schadek — 2024-12-13T18:14:49Z
THIS ISSUE HAS BEEN MOVED TO GITHUB https://github.com/dlang/dmd/issues/18731 DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB