Daniel Jacobowitz writes:
 > On Wed, Dec 19, 2007 at 05:21:50PM +0000, Andrew Haley wrote:
 > > Die: DW_TAG_interface_type (abbrev = 23, offset = 4181)
 > >    has children: FALSE
 > >    attributes:
 > >            DW_AT_declaration (DW_FORM_flag) flag: TRUE
 > > Dwarf Error: Cannot find type of die [in module /home/aph/a.out]
 > > 
 > > I suppose this means that gcj is generating bad debug info, but I
 > > don't know what it's complaining about exactly, so I don't know how to
 > > fix it.
 > > 
 > > Here's the abbrev in question:
 > > 
 > >  <1><1055>: Abbrev Number: 23 (DW_TAG_interface_type)
 > >   <1056>     DW_AT_declaration : 1      
 > 
 > That DIE doesn't have any content.  It says "I am a declartion of an
 > interface".  But not which interface or what it's called or what the
 > type is.

Well, the type is the interface: there's nothing else it might be.

 > I'd need a backtrace to be more specific, but in addition to bad
 > debug info this may be a limitation in GDB; it does not know
 > anything about DW_TAG_interface_type.

OK, thanks.

Anyway, on inspection it seems like read_type_die() in dwarf2read.c
doesn't know how to handle DW_TAG_interface_type.  This is rather odd,
given that dwarf_tag_name() does know about interface types.

Maybe I should just fix gcj not to use DW_TAG_interface_type.

Andrew.

-- 
Red Hat UK Ltd, Amberley Place, 107-111 Peascod Street, Windsor, Berkshire, SL4 
1TE, UK
Registered in England and Wales No. 3798903

Reply via email to