From: Keith Seitz Message-ID: <4B7F207A.7020102@redhat.com> --- gdb-7.0.1-orig/gdb/dwarf2read.c 2010-02-20 01:06:44.000000000 +0100 +++ gdb-7.0.1/gdb/dwarf2read.c 2010-02-20 01:08:28.000000000 +0100 @@ -7362,6 +7362,10 @@ read_partial_die (struct partial_die_inf break; } break; + case DW_AT_MIPS_linkage_name: + if (cu->language == language_ada) + part_die->name = DW_STRING (&attr); + break; case DW_AT_comp_dir: if (part_die->dirname == NULL) part_die->dirname = DW_STRING (&attr); @@ -9924,9 +9928,13 @@ dwarf2_canonicalize_name (char *name, st static char * dwarf2_name (struct die_info *die, struct dwarf2_cu *cu) { - struct attribute *attr; + 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_name, cu); + if (!attr) + attr = dwarf2_attr (die, DW_AT_name, cu); if (!attr || !DW_STRING (attr)) return NULL;