aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/dwarf2.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ca047e7..8b3cd94 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * 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 <nickc@redhat.com>
* archive64.c (bfd_elf64_archive_slurp_armap): Remove unused
diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c
index 11618c0..9b194aa 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;