aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-02-23 20:09:15 +0000
committerDaniel Jacobowitz <drow@false.org>2004-02-23 20:09:15 +0000
commit5257c72d769eae184421f3314cc7dbdbaca6d9b7 (patch)
tree6edf742bd2cc5512381f8934c98f22b4b8f7186d
parentb86503378caff512de89271b53e0549389bd9972 (diff)
downloadgdb-5257c72d769eae184421f3314cc7dbdbaca6d9b7.zip
gdb-5257c72d769eae184421f3314cc7dbdbaca6d9b7.tar.gz
gdb-5257c72d769eae184421f3314cc7dbdbaca6d9b7.tar.bz2
* dwarf2read.c (dwarf2_read_abbrevs): Return 1 for DW_FORM_indirect
also.
-rw-r--r--gdb/ChangeLog.intercu5
-rw-r--r--gdb/dwarf2read.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog.intercu b/gdb/ChangeLog.intercu
index 31e1d56..c9d743c 100644
--- a/gdb/ChangeLog.intercu
+++ b/gdb/ChangeLog.intercu
@@ -1,5 +1,10 @@
2004-02-23 Daniel Jacobowitz <drow@mvista.com>
+ * dwarf2read.c (dwarf2_read_abbrevs): Return 1 for DW_FORM_indirect
+ also.
+
+2004-02-23 Daniel Jacobowitz <drow@mvista.com>
+
* dwarf2read.c (dwarf2_read_abbrevs): Return 1 iff we saw any
DW_FORM_ref_addr tags.
(create_comp_unit_tree): Add prototype. Take an objfile instead
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 803f5fe..7eb4fbb 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -4714,6 +4714,11 @@ dwarf2_read_abbrevs (bfd *abfd, struct dwarf2_cu *cu)
if (abbrev_form == DW_FORM_ref_addr)
saw_ref_addr = 1;
+ /* If we don't know what form this attribute will have, then it
+ might potentially be a DW_FORM_ref_addr. */
+ if (abbrev_form == DW_FORM_indirect)
+ saw_ref_addr = 1;
+
cur_attrs[cur_abbrev->num_attrs].name = abbrev_name;
cur_attrs[cur_abbrev->num_attrs++].form = abbrev_form;
abbrev_name = read_unsigned_leb128 (abfd, abbrev_ptr, &bytes_read);