* dwarf2.c (find_abstract_instance_name): Don't early exit when name
set. For DW_AT_name case, only set name if not already set. Handle
DW_AT_MIPS_linkage_name.
+2005-09-20 James E. Wilson <wilson@specifix.com>
+
+ * dwarf2.c (find_abstract_instance_name): Don't early exit when name
+ set. For DW_AT_name case, only set name if not already set. Handle
+ DW_AT_MIPS_linkage_name.
+
2005-09-20 Alan Modra <amodra@bigpond.net.au>
* elflink.c (_bfd_elf_merge_symbol): Simplify.
}
else
{
- for (i = 0; i < abbrev->num_attrs && !name; ++i)
+ for (i = 0; i < abbrev->num_attrs; ++i)
{
info_ptr = read_attribute (&attr, &abbrev->attrs[i], unit, info_ptr);
switch (attr.name)
{
case DW_AT_name:
- name = attr.u.str;
+ /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name. */
+ if (name == NULL)
+ name = attr.u.str;
break;
case DW_AT_specification:
name = find_abstract_instance_name (unit, attr.u.val);
break;
+ case DW_AT_MIPS_linkage_name:
+ name = attr.u.str;
+ break;
default:
break;
}