summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/dwarf2.c6
2 files changed, 12 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e9c5e9210c..ec184aa25e 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2010-01-11 Alan Modra <amodra@gmail.com>
+
+ PR 6832
+ * dwarf2.c (struct comp_unit): Add sec_info_ptr.
+ (find_abstract_instance_name): Use it.
+ (parse_comp_unit): Set it.
+
2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* Makefile.in: Regenerate.
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index e5eccfc19a..533534d28c 100644
--- a/bfd/dwarf2.c
+++ b/bfd/dwarf2.c
@@ -216,6 +216,9 @@ struct comp_unit
by its reference. */
bfd_byte *info_ptr_unit;
+ /* Pointer to the start of the debug section, for DW_FORM_ref_addr. */
+ bfd_byte *sec_info_ptr;
+
/* The offset into .debug_line of the line number table. */
unsigned long line_offset;
@@ -1811,7 +1814,7 @@ find_abstract_instance_name (struct comp_unit *unit,
if (!die_ref)
abort ();
- info_ptr = unit->stash->sec_info_ptr + die_ref;
+ info_ptr = unit->sec_info_ptr + die_ref;
}
else
info_ptr = unit->info_ptr_unit + die_ref;
@@ -2219,6 +2222,7 @@ parse_comp_unit (struct dwarf2_debug *stash,
unit->end_ptr = end_ptr;
unit->stash = stash;
unit->info_ptr_unit = info_ptr_unit;
+ unit->sec_info_ptr = stash->sec_info_ptr;
for (i = 0; i < abbrev->num_attrs; ++i)
{