From 78570d35b6f90f80e07a090a042023850e73ffb8 Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Mon, 20 Nov 1995 22:40:34 +0000 Subject: [PATCH] * 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(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 74cf44ce98d..8f01e02b6fb 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 * objfiles.c (allocate_objfile): Change warning message about mapped diff --git a/gdb/config/tm-magic.h b/gdb/config/tm-magic.h index 04360369183..a33230f9828 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 -- 2.30.2