keiths / rpms / gdb

Forked from rpms/gdb 4 months ago
Clone
Blob Blame History Raw
From: Keith Seitz <keiths@redhat.com>
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;