patch-2.2.19 linux/arch/s390/kernel/signal.c
Next file: linux/arch/s390/kernel/smp.c
Previous file: linux/arch/s390/kernel/setup.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
Sun Mar 25 11:37:30 2001
- Orig file:
v2.2.18/arch/s390/kernel/signal.c
- Orig date:
Sun Mar 25 11:28:19 2001
diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.18/arch/s390/kernel/signal.c linux/arch/s390/kernel/signal.c
@@ -327,6 +327,11 @@
#endif
/* Martin wants this for pthreads */
regs->gprs[3] = (addr_t)&frame->sc;
+
+ /* We forgot to include these in the sigcontext.
+ To avoid breaking binary compatibility, they are passed as args. */
+ regs->gprs[4] = current->tss.trap_no;
+ regs->gprs[5] = current->tss.prot_addr;
return;
give_sigsegv:
@@ -383,7 +388,7 @@
siginfo_t *info, sigset_t *oldset, struct pt_regs * regs)
{
/* Are we from a system call? */
- if (regs->orig_gpr2 >= 0) {
+ if (regs->trap == __LC_SVC_OLD_PSW) {
/* If so, check system call restarting.. */
switch (regs->gprs[2]) {
case -ERESTARTNOHAND:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)