diff options
author | Fred Fish <fnf@specifix.com> | 2005-02-21 18:00:17 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 2005-02-21 18:00:17 +0000 |
commit | 26bf4e330265441614b7cace1446007d0da3a909 (patch) | |
tree | 237c74f87b839e51cec3fda95d156100bd3e0b19 | |
parent | 3470a02f88554c06db89c50d3fb6c40db3b7fe37 (diff) | |
download | gdb-26bf4e330265441614b7cace1446007d0da3a909.zip gdb-26bf4e330265441614b7cace1446007d0da3a909.tar.gz gdb-26bf4e330265441614b7cace1446007d0da3a909.tar.bz2 |
Approved by nickc@redhat.com:
2005-02-21 Fred Fish <fnf@specifixinc.com>
* dwarf2.c (find_abstract_instance_name): Call recursively
to handle a DW_AT_specification.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/dwarf2.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 241924c..74ae25f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2005-02-21 Fred Fish <fnf@specifixinc.com> + + * dwarf2.c (find_abstract_instance_name): Call recursively + to handle a DW_AT_specification. + 2005-02-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym, diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index be8ba38..fb5cf9f 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -1291,8 +1291,17 @@ find_abstract_instance_name (struct comp_unit *unit, bfd_uint64_t die_ref) for (i = 0; i < abbrev->num_attrs && !name; ++i) { info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr); - if (attr.name == DW_AT_name) - name = attr.u.str; + switch (attr.name) + { + case DW_AT_name: + name = attr.u.str; + break; + case DW_AT_specification: + name = find_abstract_instance_name (unit, attr.u.val); + break; + default: + break; + } } } } |