Jan Kratochvil 49707ab
http://sourceware.org/ml/gdb-patches/2010-09/msg00273.html
Jan Kratochvil 49707ab
Subject: [patch] .gdb_index: Fix Ada regression
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
Hi,
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
on a system with libraries using .gdb_index all the Ada testcases FAIL:
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
Running ./gdb.ada/print_pc.exp ...
Jan Kratochvil 49707ab
FAIL: gdb.ada/print_pc.exp: start inferior (GDB internal error)
Jan Kratochvil 49707ab
FAIL: gdb.ada/print_pc.exp: p /x $pc
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
dwarf2read.c:2374: internal-error: map_ada_symtabs called via index method
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
FAIl is on Fedora 14 snapshot using gcc-debuginfo-4.5.1-3.fc14.x86_64 file:
Jan Kratochvil 49707ab
	/usr/lib/debug/lib64/libgcc_s-4.5.1-20100907.so.1.debug
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
The regressions get fixed on x86_64-fedora14snapshot-linux-gnu by the attached
Jan Kratochvil 49707ab
patch.  No regressions on {x86_64,x86_64-m32,i686}-fedora14snapshot-linux-gnu.
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
During my tests with `set language ada' I could not lookup non-Ada symbols
Jan Kratochvil 49707ab
anyway so I believe the patch is OK but sure it needs an Ada-wise review.
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
Thanks,
Jan Kratochvil 49707ab
Jan
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
gdb/
Jan Kratochvil 49707ab
2010-09-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
	* dwarf2read.c (dw2_map_ada_symtabs): Remove the internal_error.
Jan Kratochvil 49707ab
	Update the comment.
Jan Kratochvil 49707ab
Jan Kratochvil 49707ab
--- a/gdb/dwarf2read.c
Jan Kratochvil 49707ab
+++ b/gdb/dwarf2read.c
Jan Kratochvil 49707ab
@@ -2369,10 +2369,9 @@ dw2_map_ada_symtabs (struct objfile *objfile,
Jan Kratochvil 49707ab
 		     domain_enum namespace, int wild,
Jan Kratochvil 49707ab
 		     void *data)
Jan Kratochvil 49707ab
 {
Jan Kratochvil 49707ab
-  /* For now, we don't support Ada, so this function can't be
Jan Kratochvil 49707ab
-     reached.  */
Jan Kratochvil 49707ab
-  internal_error (__FILE__, __LINE__,
Jan Kratochvil 49707ab
-		  _("map_ada_symtabs called via index method"));
Jan Kratochvil 49707ab
+  /* For now, we don't support Ada.  Still the function can be called if the
Jan Kratochvil 49707ab
+     current language is Ada for a non-Ada objfile using GNU index.  As Ada
Jan Kratochvil 49707ab
+     does not look for non-Ada symbols this function should just return.  */
Jan Kratochvil 49707ab
 }
Jan Kratochvil 49707ab
 
Jan Kratochvil 49707ab
 static void
Jan Kratochvil 49707ab