commit 669907bd6d54ae8e85b1278f0f16f8641ce6802d Author: Tom Tromey Date: Tue Apr 20 21:19:07 2010 +0000 * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name. (read_partial_die): Likewise. (dwarf_attr_name): Likewise. ### a/gdb/ChangeLog ### b/gdb/ChangeLog ## -1,3 +1,9 @@ +2010-04-20 Tom Tromey + + * dwarf2read.c (dwarf2_compute_name): Handle DW_AT_linkage_name. + (read_partial_die): Likewise. + (dwarf_attr_name): Likewise. + 2010-04-20 Chris Moller PR 10867 --- gdb-7.1/gdb/dwarf2read.c.orig 2010-06-09 14:38:01.000000000 +0200 +++ gdb-7.1/gdb/dwarf2read.c 2010-06-09 14:49:53.000000000 +0200 @@ -7675,7 +7675,11 @@ read_partial_die (struct partial_die_inf break; } break; + case DW_AT_linkage_name: case DW_AT_MIPS_linkage_name: + /* Note that both forms of linkage name might appear. We + assume they will be the same, and we only store the last + one we see. */ if (cu->language == language_ada) part_die->name = DW_STRING (&attr); break; @@ -10167,7 +10171,11 @@ dwarf2_name (struct die_info *die, struc struct attribute *attr = NULL; if (cu->language == language_ada) - attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu); + { + attr = dwarf2_attr (die, DW_AT_linkage_name, cu); + if (attr == NULL) + attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu); + } if (!attr) attr = dwarf2_attr (die, DW_AT_name, cu); @@ -10555,6 +10563,8 @@ dwarf_attr_name (unsigned attr) /* DWARF 4 values. */ case DW_AT_signature: return "DW_AT_signature"; + case DW_AT_linkage_name: + return "DW_AT_linkage_name"; /* SGI/MIPS extensions. */ #ifdef MIPS /* collides with DW_AT_HP_block_index */ case DW_AT_MIPS_fde: