Approved by nickc@redhat.com:
authorFred Fish <fnf@specifix.com>
Mon, 21 Feb 2005 18:00:17 +0000 (18:00 +0000)
committerFred Fish <fnf@specifix.com>
Mon, 21 Feb 2005 18:00:17 +0000 (18:00 +0000)
2005-02-21  Fred Fish  <fnf@specifixinc.com>
* dwarf2.c (find_abstract_instance_name): Call recursively
to handle a DW_AT_specification.

bfd/ChangeLog
bfd/dwarf2.c

index 241924c8bf832383a4a24468128ffcd7721c47b3..74ae25fe4f2bba5e586f3c5970a700b6f69d16b7 100644 (file)
@@ -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,
index be8ba389706fc64d4f4e65dc91e057bcaf4de1ce..fb5cf9f918a69c28d7b3e6a3f97ed7e8d3fb1d2a 100644 (file)
@@ -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;
+               }
            }
        }
     }
This page took 0.049525 seconds and 4 git commands to generate.