This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] .gdb_index: Fix Ada regression


Hi,

on a system with libraries using .gdb_index all the Ada testcases FAIL:

Running ./gdb.ada/print_pc.exp ...
FAIL: gdb.ada/print_pc.exp: start inferior (GDB internal error)
FAIL: gdb.ada/print_pc.exp: p /x $pc

dwarf2read.c:2374: internal-error: map_ada_symtabs called via index method

FAIl is on Fedora 14 snapshot using gcc-debuginfo-4.5.1-3.fc14.x86_64 file:
	/usr/lib/debug/lib64/libgcc_s-4.5.1-20100907.so.1.debug

The regressions get fixed on x86_64-fedora14snapshot-linux-gnu by the attached
patch.  No regressions on {x86_64,x86_64-m32,i686}-fedora14snapshot-linux-gnu.

During my tests with `set language ada' I could not lookup non-Ada symbols
anyway so I believe the patch is OK but sure it needs an Ada-wise review.


Thanks,
Jan


gdb/
2010-09-14  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf2read.c (dw2_map_ada_symtabs): Remove the internal_error.
	Update the comment.

--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -2369,10 +2369,9 @@ dw2_map_ada_symtabs (struct objfile *objfile,
 		     domain_enum namespace, int wild,
 		     void *data)
 {
-  /* For now, we don't support Ada, so this function can't be
-     reached.  */
-  internal_error (__FILE__, __LINE__,
-		  _("map_ada_symtabs called via index method"));
+  /* For now, we don't support Ada.  Still the function can be called if the
+     current language is Ada for a non-Ada objfile using GNU index.  As Ada
+     does not look for non-Ada symbols this function should just return.  */
 }
 
 static void


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]