keiths / rpms / gdb

Forked from rpms/gdb 5 months ago
Clone
f56d3db
2004-10-22  Andrew Cagney  <cagney@gnu.org>
f56d3db
 
f56d3db
 	* solib-svr4.c (enable_break): Convert a symbol descriptor into
f56d3db
 	the corresponding function entry point.
f56d3db
 	(solib_break_names): Delete "._dl_debug_state", no longer needed.
eb9d945
eb9d945
2007-10-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
eb9d945
eb9d945
	Port to GDB-6.7.
f56d3db
 	
e5611bf
Index: gdb-6.8.50.20090802/gdb/solib-svr4.c
eb9d945
===================================================================
e5611bf
--- gdb-6.8.50.20090802.orig/gdb/solib-svr4.c	2009-08-03 10:03:36.000000000 +0200
e5611bf
+++ gdb-6.8.50.20090802/gdb/solib-svr4.c	2009-08-03 10:51:15.000000000 +0200
e5611bf
@@ -1431,7 +1431,15 @@ enable_break (struct svr4_info *info)
eb9d945
 	{
eb9d945
 	  sym_addr = bfd_lookup_symbol (tmp_bfd, *bkpt_namep);
eb9d945
 	  if (sym_addr != 0)
eb9d945
-	    break;
eb9d945
+	    {
eb9d945
+	      /* The symbol might be a descriptor, convert to into the
eb9d945
+		 corresponding code address.  */
e5611bf
+	      sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch,
eb9d945
+							     sym_addr,
eb9d945
+							     tmp_bfd_target);
eb9d945
+	      if (sym_addr != 0)
eb9d945
+		break;
eb9d945
+	    }
eb9d945
 	}
eb9d945
 
eb9d945
       if (sym_addr != 0)