diff options
author | Andrew Cagney <cagney@redhat.com> | 2004-05-01 16:52:30 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2004-05-01 16:52:30 +0000 |
commit | 46074b611708b2d8b893c8c058659725bc51899a (patch) | |
tree | bb1b0abdd48cdba43abb0bf03626e6711943f55a /gdb/ppc-linux-tdep.c | |
parent | 75ba4cf85ae5f5e8f05bd79f3cb72a6ad56e8241 (diff) | |
download | gdb-46074b611708b2d8b893c8c058659725bc51899a.tar.gz |
2004-05-01 Andrew Cagney <cagney@redhat.com>
* 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 <cagney@redhat.com>
* gdbint.texinfo (Target Architecture Definition): Delete
description of DEPRECATED_PC_IN_SIGTRAMP.
Diffstat (limited to 'gdb/ppc-linux-tdep.c')
-rw-r--r-- | gdb/ppc-linux-tdep.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index ceb864d0216..d0e82e69b08 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) |