D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 14276 - DWARF debug info for SIMD broken
Summary: DWARF debug info for SIMD broken
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All Linux
: P1 normal
Assignee: No Owner
URL:
Keywords: DebugInfo
Depends on:
Blocks:
 
Reported: 2015-03-11 12:53 UTC by Martin Nowak
Modified: 2015-06-17 21:02 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Martin Nowak 2015-03-11 12:53:00 UTC
cat > bug.d << CODE
import core.simd;
void foo(int4 a, ubyte16 b)
{
}
CODE

dmd -c -g bug.d

----
dwarfdump bug.o
----

dwarfdump:  A parent DW_AT_sibling of 0x0000007a points at the first child 0x0000007a so the die tree is corrupt (showing section, not CU, offsets).  

The subrange for the vector is encoded incorrectly.
Comment 1 Martin Nowak 2015-03-11 12:58:10 UTC
GDB currently seems to crashe while reading that debug info.
Comment 2 github-bugzilla 2015-03-21 09:48:43 UTC
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/de2bd348fe46240af3bf5e1190c7de2ed1b8955e
fix Issue 14276 - DWARF debug info for SIMD broken

- subrange needs to follow vector type as child
- base type is encoded separately

https://github.com/D-Programming-Language/dmd/commit/0701de6dd84ca7c9998ed41f50bf33d626082493
Merge pull request #4485 from MartinNowak/fix14276

fix Issue 14276 - DWARF debug info for SIMD broken