[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gdb 5.0 "ia64-unknown-linux" segv error
From: |
David B Anderson |
Subject: |
Re: gdb 5.0 "ia64-unknown-linux" segv error |
Date: |
Sat, 9 Dec 2000 15:33:17 -0800 (PST) |
kevinb writes:
> <1><96d50>: Abbrev Number: 12 (DW_TAG_typedef)
> DW_AT_name : ulong
> DW_AT_decl_file : 12
> DW_AT_decl_line : 59
> DW_AT_type : <96d50>
>
>I'm not a DWARF2 expert, but it looks to me like the above is a
>self referential typedef. This would explain why you're seeing
>the infinite recursion in dwarf2read.c.
Yes, it is a bug. This is not correct dwarf2.
I was going to say it was 'illegal' dwarf2, but the spec
does not quite allow me to say that:
the spec:
.H 2 "Typedef Entries"
.IX typedefs
Any arbitrary type named via a typedef is represented
by a debugging information entry with the tag
.Cf DW_TAG_typedef .
The typedef entry has a
.Cf DW_AT_name
attribute whose value is a null-terminated
string containing the name of the typedef as it appears in the
source program.
The typedef entry also contains a
.Cf DW_AT_type
attribute.
The above is the same in the latest draft dwarf2 spec.
It is clear from context though, that the DW_AT_type
should be a reference to 'the type the ulong name refers to'
in the example at hand.
address@hidden