From fcf70625fc153c636f89293d48208d39033c2c41 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sat, 1 May 2004 16:52:30 +0000 Subject: 2004-05-01 Andrew Cagney * gdbarch.sh (DEPRECATED_PC_IN_SIGTRAMP): Delete. * gdbarch.h, gdbarch.c: Re-generate. * shnbsd-tdep.c (shnbsd_init_abi): Do not set pc_in_sigtramp. (shnbsd_pc_in_sigtramp): Delete. * i386-interix-tdep.c (i386_interix_init_abi): Do not set pc_in_sigtramp. * hppa-hpux-tdep.c (hppa_hpux_init_abi): Do not set pc_in_sigtramp. * frame.h: Update comments. * ppc-linux-tdep.c: Update comments. * breakpoint.c (bpstat_what): Update comments. Index: doc/ChangeLog 2004-05-01 Andrew Cagney * gdbint.texinfo (Target Architecture Definition): Delete description of DEPRECATED_PC_IN_SIGTRAMP. --- gdb/ppc-linux-tdep.c | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'gdb/ppc-linux-tdep.c') diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index ceb864d..d0e82e6 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -114,8 +114,8 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc); /* Determine if pc is in a signal trampoline... Ha! That's not what this does at all. wait_for_inferior in - infrun.c calls DEPRECATED_PC_IN_SIGTRAMP in order to detect entry - into a signal trampoline just after delivery of a signal. But on + infrun.c calls get_frame_type() in order to detect entry into a + signal trampoline just after delivery of a signal. But on GNU/Linux, signal trampolines are used for the return path only. The kernel sets things up so that the signal handler is called directly. @@ -146,20 +146,9 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc); signal is delivered while stepping, the next instruction that would've been stepped over isn't, instead a signal is delivered and the first instruction of the handler is stepped over instead. That - puts us on the second instruction. (I added the test for the - first instruction long after the fact, just in case the observed - behavior is ever fixed.) - - DEPRECATED_PC_IN_SIGTRAMP is called from blockframe.c as well in - order to set the frame's type (if a SIGTRAMP_FRAME). Because of - our strange definition of in_sigtramp below, we can't rely on the - frame's type getting set correctly from within blockframe.c. This - is why we take pains to set it in init_extra_frame_info(). - - NOTE: cagney/2002-11-10: I suspect the real problem here is that - the get_prev_frame() only initializes the frame's type after the - call to INIT_FRAME_INFO. get_prev_frame() should be fixed, this - code shouldn't be working its way around a bug :-(. */ + puts us on the second instruction. (I added the test for the first + instruction long after the fact, just in case the observed behavior + is ever fixed.) */ int ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name) -- cgit v1.1