[Issue 1079] gdb on linux: Dwarf Error: Cannot find DIE at 0xb705 referenced from DIE at 0x250

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Dec 27 15:28:16 PST 2007


http://d.puremagic.com/issues/show_bug.cgi?id=1079


stephan at kochen.nl changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stephan at kochen.nl
             Status|RESOLVED                    |REOPENED
         Resolution|WONTFIX                     |




------- Comment #8 from stephan at kochen.nl  2007-12-27 17:28 -------
I'm reopening this, because these seem to be two separate issues. The original
problem still applies.

I've been working on an updated patch for GDB 6.7, based on the work available
at dsource.org [1]. In addition to the demangler, there's also stubs for the
DWARF extensions DMD uses. The simple example Jari-Matti (comment #3) wrote
debugs just fine now.

However, my larger project still fails with a "Cannot find DIE" error. The
original reporter didn't provide a lot of information. But getting a stacktrace
from GDB itself where it reports this error in my project, shows the problem to
be lying in:

DW_TAG_compilation_unit -> DW_TAG_subroutine_type -> DW_TAG_formal_parameter [
DW_AT_type ]

The reference in the type attribute isn't completely wild, it points within the
.debug_info, but it's still invalid. The dwarfdump [2] utility also trips on
this, so I'm again suspecting a problem in DMD.

I'm not sure what kind of construct in D generates this kind of output. The D
module triggering it contains just 3 classes. I was unable to create a small
test case.

[1] gdb-patches project: http://www.dsource.org/projects/gdb-patches
[2] libdwarf and dwarfdump: http://reality.sgiweb.org/davea/dwarf.html


-- 



More information about the Digitalmars-d-bugs mailing list