patch-2.4.20 linux-2.4.20/arch/mips/kernel/signal.c
Next file: linux-2.4.20/arch/mips/kernel/smp.c
Previous file: linux-2.4.20/arch/mips/kernel/setup.c
Back to the patch index
Back to the overall index
- Lines: 100
- Date:
Thu Nov 28 15:53:10 2002
- Orig file:
linux-2.4.19/arch/mips/kernel/signal.c
- Orig date:
Fri Aug 2 17:39:43 2002
diff -urN linux-2.4.19/arch/mips/kernel/signal.c linux-2.4.20/arch/mips/kernel/signal.c
@@ -17,14 +17,14 @@
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/wait.h>
-#include <linux/ptrace.h>
#include <linux/unistd.h>
#include <asm/asm.h>
#include <asm/bitops.h>
#include <asm/cpu.h>
+#include <asm/offset.h>
#include <asm/pgalloc.h>
-#include <asm/stackframe.h>
+#include <asm/ptrace.h>
#include <asm/uaccess.h>
#include <asm/ucontext.h>
@@ -190,7 +190,7 @@
u64 *pfreg = ¤t->thread.fpu.soft.regs[0];
int err = 0;
- /*
+ /*
* Copy all 32 64-bit values, for two reasons. First, the R3000 and
* R4000/MIPS32 kernels use the thread FP register storage differently,
* such that a full copy is essentially necessary to support both.
@@ -416,15 +416,15 @@
goto out;
/* There exists FP thread state that may be trashed by signal */
- if (owned_fp) {
+ if (owned_fp) {
/* fp is active. Save context from FPU */
err |= save_fp_context(sc);
goto out;
}
- /*
- * Someone else has FPU.
- * Copy Thread context into signal context
+ /*
+ * Someone else has FPU.
+ * Copy Thread context into signal context
*/
err |= save_thread_fp_context(sc);
@@ -443,7 +443,7 @@
/* Default to using normal stack */
sp = regs->regs[29];
- /*
+ /*
* FPU emulator may have it's own trampoline active just
* above the user stack, 16-bytes before the next lowest
* 16 byte boundary. Try to avoid trashing it.
@@ -508,8 +508,9 @@
regs->cp0_epc = regs->regs[25] = (unsigned long) ka->sa.sa_handler;
#if DEBUG_SIG
- printk("SIG deliver (%s:%d): sp=0x%p pc=0x%p ra=0x%p\n",
- current->comm, current->pid, frame, regs->cp0_epc, frame->code);
+ printk("SIG deliver (%s:%d): sp=0x%p pc=0x%lx ra=0x%p\n",
+ current->comm, current->pid,
+ frame, regs->cp0_epc, frame->sf_code);
#endif
return;
@@ -583,8 +584,9 @@
regs->cp0_epc = regs->regs[25] = (unsigned long) ka->sa.sa_handler;
#if DEBUG_SIG
- printk("SIG deliver (%s:%d): sp=0x%p pc=0x%p ra=0x%p\n",
- current->comm, current->pid, frame, regs->cp0_epc, frame->code);
+ printk("SIG deliver (%s:%d): sp=0x%p pc=0x%lx ra=0x%p\n",
+ current->comm, current->pid,
+ frame, regs->cp0_epc, frame->rs_code);
#endif
return;
@@ -708,7 +710,7 @@
continue;
switch (signr) {
- case SIGCONT: case SIGCHLD: case SIGWINCH:
+ case SIGCONT: case SIGCHLD: case SIGWINCH: case SIGURG:
continue;
case SIGTSTP: case SIGTTIN: case SIGTTOU:
@@ -732,10 +734,7 @@
/* FALLTHRU */
default:
- sigaddset(¤t->pending.signal, signr);
- recalc_sigpending(current);
- current->flags |= PF_SIGNALED;
- do_exit(exit_code);
+ sig_exit(signr, exit_code, &info);
/* NOTREACHED */
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)