On Thu, 10 May 2012 14:39:07 -0600, Tom Tromey <tromey@...> wrote:
>>>>>> "Tomasz" == Tomasz Grobelny <tomasz@...>
> Tomasz> Reading symbols from
> /login/sg209371/gdbtest/a.out.sparc...expanding to
> Tomasz> full symbols...Die: DW_TAG_<unknown> (abbrev 9, offset 0x1bb)
> You want DIE 0x1bb...
> Tomasz> parent at offset: 0x197
> ... or perhaps 0x197 ...
> Tomasz> With the relevant portion of dwarfdump looking like this:
> Tomasz> <2>< 443> DW_TAG_SUN_class_template
> But this appears to be DIE 0x443.
Actually it is DIE 443(dec) == 1bb(hex)
When you posted output from another dwarfdump version it took me a while
to figure out that one tool is giving numbers in hex and the other in dec.
> Tomasz> Shouldn't unknown tag just be ignored?
> Yes, but I think what is happening is that you have one DIE which uses
> DW_AT_type to refer to another DIE, and gdb doesn't know what to do with
> the type DIE.
Does the above comment about dec/hex values change your analysis here?
> Tomasz> I searched for other tags that might be compiler specific and
> Tomasz> here is the list:
> Those are actually attributes; tags would be DW_TAG_something.
Thanks for pointing that out - I am new to DWARF stuff and do not yet see
the difference between attribute, tag and die.
> Tomasz> Are any of these supported or (at least) explicitly ignored by
> AFAIK, no Sun extensions to DWARF are supported by gdb.
> Generally they should be ignored, but as you've seen, there are
> sometimes exceptions. My impression is that this part of gdb is not
> heavily tested.
I will have a look it they can somehow be removed...