Add mangled names to addr2line -i output.

* 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.
This commit is contained in:
Jim Wilson 2005-09-20 18:13:32 +00:00
parent 8aba57de19
commit d5cbaa1554
2 changed files with 13 additions and 2 deletions

View file

@ -1,3 +1,9 @@
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.

View file

@ -1568,17 +1568,22 @@ find_abstract_instance_name (struct comp_unit *unit, bfd_uint64_t die_ref)
}
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;
}