This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
DW_FORM_data8
- From: Richard Henderson <rth at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 14 Mar 2002 13:31:41 -0800
- Subject: DW_FORM_data8
The dwarf2 reader doesn't believe that DW_FORM_data8 holds
a constant value. Fixed thus.
Ok?
r~
PS: Not sure what generated this form -- certainly gcc should be
emitting the smaller forms when the array bounds allow. Perhaps
it's output from an older gcc... Anyway, it shows up on an ia64
installation I have here.
* dwarf2read.c (read_array_type): Accept DW_FORM_data8 as
a constant array bound.
Index: dwarf2read.c
===================================================================
RCS file: /cvs/src/src/gdb/dwarf2read.c,v
retrieving revision 1.49
diff -c -p -d -r1.49 dwarf2read.c
*** dwarf2read.c 2002/02/28 11:21:16 1.49
--- dwarf2read.c 2002/03/14 21:28:59
*************** read_array_type (struct die_info *die, s
*** 2538,2544 ****
else if (attr->form == DW_FORM_udata
|| attr->form == DW_FORM_data1
|| attr->form == DW_FORM_data2
! || attr->form == DW_FORM_data4)
{
low = DW_UNSND (attr);
}
--- 2538,2545 ----
else if (attr->form == DW_FORM_udata
|| attr->form == DW_FORM_data1
|| attr->form == DW_FORM_data2
! || attr->form == DW_FORM_data4
! || attr->form == DW_FORM_data8)
{
low = DW_UNSND (attr);
}
*************** read_array_type (struct die_info *die, s
*** 2564,2570 ****
else if (attr->form == DW_FORM_udata
|| attr->form == DW_FORM_data1
|| attr->form == DW_FORM_data2
! || attr->form == DW_FORM_data4)
{
high = DW_UNSND (attr);
}
--- 2565,2572 ----
else if (attr->form == DW_FORM_udata
|| attr->form == DW_FORM_data1
|| attr->form == DW_FORM_data2
! || attr->form == DW_FORM_data4
! || attr->form == DW_FORM_data8)
{
high = DW_UNSND (attr);
}