diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ca047e798f..8b3cd94fa5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2010-04-20 Jakub Jelinek + + * dwarf2.c (find_abstract_instance_name, scan_unit_for_symbols): Treat + DW_AT_linkage_name the same as DW_AT_MIPS_linkage_name. + 2010-04-19 Nick Clifton * archive64.c (bfd_elf64_archive_slurp_armap): Remove unused diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index 11618c0812..9b194aaa66 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -1950,13 +1950,15 @@ find_abstract_instance_name (struct comp_unit *unit, switch (attr.name) { case DW_AT_name: - /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name. */ + /* Prefer DW_AT_MIPS_linkage_name or DW_AT_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); break; + case DW_AT_linkage_name: case DW_AT_MIPS_linkage_name: name = attr.u.str; break; @@ -2126,11 +2128,13 @@ scan_unit_for_symbols (struct comp_unit *unit) break; case DW_AT_name: - /* Prefer DW_AT_MIPS_linkage_name over DW_AT_name. */ + /* Prefer DW_AT_MIPS_linkage_name or DW_AT_linkage_name + over DW_AT_name. */ if (func->name == NULL) func->name = attr.u.str; break; + case DW_AT_linkage_name: case DW_AT_MIPS_linkage_name: func->name = attr.u.str; break;