summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2004-02-23 20:09:15 +0000
committerDaniel Jacobowitz <dan@debian.org>2004-02-23 20:09:15 +0000
commit3563325da4a3be04ba26c56dec79aa23a5fb3213 (patch)
tree4318c48db257142b3528a485041a16d1ebc63f39
parent9c59b3340ebdecb3e43b581f30081395cc00a4c3 (diff)
downloadgdb-3563325da4a3be04ba26c56dec79aa23a5fb3213.tar.gz
* 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 31e1d56e575..c9d743c368f 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 803f5fe17d0..7eb4fbb9513 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);