patch-2.3.99-pre6 linux/arch/ia64/ia32/ia32_signal.c

Next file: linux/arch/ia64/ia32/ia32_traps.c
Previous file: linux/arch/ia64/ia32/ia32_entry.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.99-pre5/linux/arch/ia64/ia32/ia32_signal.c linux/arch/ia64/ia32/ia32_signal.c
@@ -94,7 +94,9 @@
          err |= __put_user(tmp ? fpstate : NULL, &sc->fpstate);
 
        /* non-iBCS2 extensions.. */
+#endif
        err |= __put_user(mask, &sc->oldmask);
+#if 0
        err |= __put_user(current->tss.cr2, &sc->cr2);
 #endif
        
@@ -196,7 +198,7 @@
        return (void *)((esp - frame_size) & -8ul);
 }
 
-static void
+static int
 setup_frame_ia32(int sig, struct k_sigaction *ka, sigset_t *set,
            struct pt_regs * regs) 
 {      
@@ -247,20 +249,21 @@
        regs->eflags &= ~TF_MASK;
 #endif
 
-#if 1
-       printk("SIG deliver (%s:%d): sp=%p pc=%lx ra=%x\n",
-               current->comm, current->pid, frame, regs->cr_iip, frame->pretcode);
+#if 0
+       printk("SIG deliver (%s:%d): sig=%d sp=%p pc=%lx ra=%x\n",
+               current->comm, current->pid, sig, frame, regs->cr_iip, frame->pretcode);
 #endif
 
-       return;
+       return 1;
 
 give_sigsegv:
        if (sig == SIGSEGV)
                ka->sa.sa_handler = SIG_DFL;
        force_sig(SIGSEGV, current);
+       return 0;
 }
 
-static void
+static int
 setup_rt_frame_ia32(int sig, struct k_sigaction *ka, siginfo_t *info,
               sigset_t *set, struct pt_regs * regs)
 {
@@ -316,29 +319,29 @@
        regs->eflags &= ~TF_MASK;
 #endif
 
-#if 1
+#if 0
        printk("SIG deliver (%s:%d): sp=%p pc=%lx ra=%x\n",
                current->comm, current->pid, frame, regs->cr_iip, frame->pretcode);
 #endif
 
-       return;
+       return 1;
 
 give_sigsegv:
        if (sig == SIGSEGV)
                ka->sa.sa_handler = SIG_DFL;
        force_sig(SIGSEGV, current);
+       return 0;
 }
 
-long
+int
 ia32_setup_frame1 (int sig, struct k_sigaction *ka, siginfo_t *info,
 		   sigset_t *set, struct pt_regs *regs)
 {
        /* Set up the stack frame */
        if (ka->sa.sa_flags & SA_SIGINFO)
-               setup_rt_frame_ia32(sig, ka, info, set, regs);
+               return(setup_rt_frame_ia32(sig, ka, info, set, regs));
        else
-               setup_frame_ia32(sig, ka, set, regs);
-
+               return(setup_frame_ia32(sig, ka, set, regs));
 }
 
 asmlinkage int

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)