OSDN Git Service

Approved by nickc@redhat.com:
authorfnf <fnf>
Mon, 21 Feb 2005 18:00:15 +0000 (18:00 +0000)
committerfnf <fnf>
Mon, 21 Feb 2005 18:00:15 +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 241924c..74ae25f 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 be8ba38..fb5cf9f 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;
+               }
            }
        }
     }