From 78570d35b6f90f80e07a090a042023850e73ffb8 Mon Sep 17 00:00:00 2001 From: Stu Grossman <grossman@cygnus> Date: Mon, 20 Nov 1995 22:40:34 +0000 Subject: * infrun.c (wait_for_inferior): Add support for dynamic function trampolines. These are pieces of code between the caller and the callee that figure out the address of the callee's code at run time. Upon entry, we can't figure out the callee's address, so we set a breakpoint within the trampoline where the address will be known, and continue the target. Once we hit the breakpoint, we break at the callee's address and proceed as usual. start-sanitize-gm * config/tm-magic.h: Define DYNAMIC_TRAMPOLINE_NEXTPC. Turn off IN_SOLIB_CALL_TRAMPOLINE and IN_SOLIB_RETURN_TRAMPOLINE. end-sanitize-gm --- gdb/ChangeLog | 14 ++++++++++++++ gdb/config/tm-magic.h | 4 +++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'gdb') diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 74cf44c..8f01e02 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,17 @@ +Mon Nov 20 14:13:53 1995 Stu Grossman (grossman@cygnus.com) + + * infrun.c (wait_for_inferior): Add support for dynamic function + trampolines. These are pieces of code between the caller and the + callee that figure out the address of the callee's code at run + time. Upon entry, we can't figure out the callee's address, so we + set a breakpoint within the trampoline where the address will be + known, and continue the target. Once we hit the breakpoint, we + break at the callee's address and proceed as usual. +start-sanitize-gm + * config/tm-magic.h: Define DYNAMIC_TRAMPOLINE_NEXTPC. Turn off + IN_SOLIB_CALL_TRAMPOLINE and IN_SOLIB_RETURN_TRAMPOLINE. +end-sanitize-gm + Mon Nov 20 11:12:34 1995 Fred Fish <fnf@cygnus.com> * objfiles.c (allocate_objfile): Change warning message about mapped diff --git a/gdb/config/tm-magic.h b/gdb/config/tm-magic.h index 0436036..a33230f 100644 --- a/gdb/config/tm-magic.h +++ b/gdb/config/tm-magic.h @@ -30,11 +30,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ entry point to the dispatcher exit site, or from the exit site to the first instruction of the dispatched-to method. */ -#define SKIP_TRAMPOLINE_CODE(pc) \ +#define DYNAMIC_TRAMPOLINE_NEXTPC(pc) \ magic_skip_dispatcher(pc) +#if 0 #define IN_SOLIB_CALL_TRAMPOLINE(pc, name) \ magic_in_dispatcher(pc, name) #define IN_SOLIB_RETURN_TRAMPOLINE(pc, name) \ magic_in_dispatcher(pc, name) +#endif -- cgit v1.1