This is the mail archive of the gdb-patches@sources.redhat.com 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] Turn skip_solib_resolver into a mult-arch function


As Andrew requested last week.

Checked in.

Mark


Index: ChangeLog
from  Mark Kettenis  <kettenis@gnu.org>

	* gdbarch.sh (skip_solib_resolver): Change into a multi-arch
	function.
	* gdbarch.c, gdbarch.h: Regenerate.
	* infrun.c (handle_inferior_event): Call
	gdbarch_skip_solib_resolver instead of SKIP_SOLIB_RESOLVER.
	* arch-utils.c (generic_in_solib_call_trampoline): Adjust function
	definition.
	* arch-utils.h (generic_in_solib_call_trampoline): Adjust function
	prototype.

Index: gdbarch.sh
===================================================================
RCS file: /cvs/src/src/gdb/gdbarch.sh,v
retrieving revision 1.287
diff -u -p -r1.287 gdbarch.sh
--- gdbarch.sh 13 Nov 2003 19:06:26 -0000 1.287
+++ gdbarch.sh 14 Nov 2003 21:20:38 -0000
@@ -704,7 +704,7 @@ f:2:SKIP_TRAMPOLINE_CODE:CORE_ADDR:skip_
 # If IN_SOLIB_DYNSYM_RESOLVE_CODE returns true, and SKIP_SOLIB_RESOLVER
 # evaluates non-zero, this is the address where the debugger will place
 # a step-resume breakpoint to get us past the dynamic linker.
-f:2:SKIP_SOLIB_RESOLVER:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc:::generic_skip_solib_resolver::0
+m:2:SKIP_SOLIB_RESOLVER:CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc:::generic_skip_solib_resolver::0
 # For SVR4 shared libraries, each call goes through a small piece of
 # trampoline code in the ".plt" section.  IN_SOLIB_CALL_TRAMPOLINE evaluates
 # to nonzero if we are currently stopped in one of these.
Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.107
diff -u -p -r1.107 arch-utils.c
--- arch-utils.c 13 Nov 2003 19:06:26 -0000 1.107
+++ arch-utils.c 14 Nov 2003 21:20:39 -0000
@@ -103,7 +103,7 @@ generic_skip_trampoline_code (CORE_ADDR 
 }
 
 CORE_ADDR
-generic_skip_solib_resolver (CORE_ADDR pc)
+generic_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 {
   return 0;
 }
Index: arch-utils.h
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.h,v
retrieving revision 1.63
diff -u -p -r1.63 arch-utils.h
--- arch-utils.h 13 Nov 2003 19:06:26 -0000 1.63
+++ arch-utils.h 14 Nov 2003 21:20:39 -0000
@@ -110,7 +110,8 @@ extern gdbarch_virtual_frame_pointer_fty
 
 extern CORE_ADDR generic_skip_trampoline_code (CORE_ADDR pc);
 
-extern CORE_ADDR generic_skip_solib_resolver (CORE_ADDR pc);
+extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch,
+					      CORE_ADDR pc);
 
 extern int generic_in_solib_call_trampoline (CORE_ADDR pc, char *name);
 
Index: infrun.c
===================================================================
RCS file: /cvs/src/src/gdb/infrun.c,v
retrieving revision 1.118
diff -u -p -r1.118 infrun.c
--- infrun.c 9 Nov 2003 12:07:16 -0000 1.118
+++ infrun.c 14 Nov 2003 21:20:41 -0000
@@ -2331,7 +2331,8 @@ process_event_stop_test:
   if (step_over_calls == STEP_OVER_UNDEBUGGABLE
       && IN_SOLIB_DYNSYM_RESOLVE_CODE (stop_pc))
     {
-      CORE_ADDR pc_after_resolver = SKIP_SOLIB_RESOLVER (stop_pc);
+      CORE_ADDR pc_after_resolver =
+	gdbarch_skip_solib_resolver (current_gdbarch, stop_pc);
 
       if (pc_after_resolver)
 	{


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