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