From d7bd68ca3c7db1b7336498cb1651e9d782eb11bc Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Wed, 24 Apr 2002 16:28:16 +0000 Subject: * arch-utils.h: Update copyright. * gdbarch.sh (PC_IN_SIGTRAMP): Add. * gdbarch.h, gdbarch.c: Re-generate. * inferior.h (IN_SIGTRAMP): Delete definition. * arch-utils.c (legacy_pc_in_sigtramp): New function. * arch-utils.h (legacy_pc_in_sigtramp): Declare. * mips-tdep.c (mips_init_extra_frame_info): Use PC_IN_SIGTRAMP. (mips_dump_tdep): Do not print value of IN_SIGTRAMP. * hppa-tdep.c (pc_in_interrupt_handler): Use PC_IN_SIGTRAMP. (find_proc_framesize): Ditto. * alpha-tdep.c (alpha_osf_skip_sigtramp_frame): Ditto. (alpha_init_extra_frame_info): Ditto. * infrun.c (handle_inferior_event): Ditto. (handle_inferior_event): Ditto. (check_sigtramp2): Ditto. * blockframe.c (create_new_frame): Ditto. (get_prev_frame): Ditto. * ppc-linux-tdep.c: Update comments. * i386-linux-tdep.c: Update comments. * breakpoint.c (bpstat_what): Update comment. * gdbint.texinfo (Target Architecture Definition): Replace IN_SIGTRAMP with PC_IN_SIGTRAMP. --- gdb/ppc-linux-tdep.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'gdb/ppc-linux-tdep.c') diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 667170c..bd76599 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -106,10 +106,11 @@ 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 IN_SIGTRAMP 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. + infrun.c calls PC_IN_SIGTRAMP 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. If we use in_sigtramp2() in place of in_sigtramp() (see below) we'll (often) end up with stop_pc in the trampoline and prev_pc in @@ -141,11 +142,11 @@ static int ppc_linux_at_sigtramp_return_path (CORE_ADDR pc); first instruction long after the fact, just in case the observed behavior is ever fixed.) - IN_SIGTRAMP is called from blockframe.c as well in order to set + PC_IN_SIGTRAMP is called from blockframe.c as well in order to set the signal_handler_caller flag. Because of our strange definition - of in_sigtramp below, we can't rely on signal_handler_caller getting - set correctly from within blockframe.c. This is why we take pains - to set it in init_extra_frame_info(). */ + of in_sigtramp below, we can't rely on signal_handler_caller + getting set correctly from within blockframe.c. This is why we + take pains to set it in init_extra_frame_info(). */ int ppc_linux_in_sigtramp (CORE_ADDR pc, char *func_name) -- cgit v1.1