aboutsummaryrefslogtreecommitdiff
path: root/bfd/dwarf2.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-01-11 08:36:19 +0000
committerAlan Modra <amodra@gmail.com>2010-01-11 08:36:19 +0000
commita358ecb8a8a60c20d5f9af0acad77f18f539964c (patch)
tree1a5dbf4eb1564e9c4e1df1af6d787ce62dd55945 /bfd/dwarf2.c
parente96c574bdc02a1bda4fc708ae5d2233e3385f0af (diff)
downloadgdb-a358ecb8a8a60c20d5f9af0acad77f18f539964c.zip
gdb-a358ecb8a8a60c20d5f9af0acad77f18f539964c.tar.gz
gdb-a358ecb8a8a60c20d5f9af0acad77f18f539964c.tar.bz2
PR 6832
* dwarf2.c (struct comp_unit): Add sec_info_ptr. (find_abstract_instance_name): Use it. (parse_comp_unit): Set it.
Diffstat (limited to 'bfd/dwarf2.c')
-rw-r--r--bfd/dwarf2.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index e5eccfc..533534d 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)
{