summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-06-24 22:41:09 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-06-24 22:41:09 +0100
commitca195cfec9fff622a61b1b72534e73360747f735 (patch)
treea98ce000e4ad01909155cad73e1ce5d1ff150117 /arch
parentaca6ca10974aa78adfb47291722ce851160213e4 (diff)
downloadlinux-3.10-ca195cfec9fff622a61b1b72534e73360747f735.tar.gz
linux-3.10-ca195cfec9fff622a61b1b72534e73360747f735.tar.bz2
linux-3.10-ca195cfec9fff622a61b1b72534e73360747f735.zip
[ARM] Add identifying number for non-rt sigframe
GDB couldn't reliably tell the difference between the old and new non-rt sigframes, so provide it with a number at the beginning which will never appear in the old sigframe, and hence provide gdb with a reliable way to tell the two apart. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/kernel/signal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c
index 96285114409..c0ba8afee42 100644
--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -470,6 +470,11 @@ setup_frame(int usig, struct k_sigaction *ka, sigset_t *set, struct pt_regs *reg
if (!frame)
return 1;
+ /*
+ * Set uc.uc_flags to a value which sc.trap_no would never have.
+ */
+ __put_user_error(0x5ac3c35a, &frame->uc.uc_flags, err);
+
err |= setup_sigframe(frame, regs, set);
if (err == 0)
err = setup_return(regs, ka, frame->retcode, frame, usig);