Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys More comments on the new signal frame/trampoline
details: https://anonhg.NetBSD.org/src/rev/659fd1dbc902
branches: trunk
changeset: 525580:659fd1dbc902
user: manu <manu%NetBSD.org@localhost>
date: Sat Apr 13 10:52:59 2002 +0000
description:
More comments on the new signal frame/trampoline
diffstat:
sys/arch/mips/mips/locore.S | 8 ++++----
sys/compat/irix/irix_signal.c | 7 ++++---
sys/compat/irix/irix_signal.h | 6 +++---
3 files changed, 11 insertions(+), 10 deletions(-)
diffs (74 lines):
diff -r 5af5b91a13bf -r 659fd1dbc902 sys/arch/mips/mips/locore.S
--- a/sys/arch/mips/mips/locore.S Sat Apr 13 10:28:36 2002 +0000
+++ b/sys/arch/mips/mips/locore.S Sat Apr 13 10:52:59 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.S,v 1.136 2002/04/12 18:44:57 manu Exp $ */
+/* $NetBSD: locore.S,v 1.137 2002/04/13 10:52:59 manu Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -207,13 +207,13 @@
LEAF_NOPROFILE(irix_sigcode)
# lw t1,32(sp)
# lw t0,28(sp)
-# sw t1,0(t0)
+# sw t1,0(t0) # *sf.isf_uep = sf.isf_errno
lw a0,40(sp)
lw a1,44(sp)
lw a2,36(sp)
li v0, IRIX_SYS_sigreturn + SYSCALL_SHIFT
- syscall # sigreturn(scp, ucp, sig)
- break 0 # just in case sigreturn fails
+ syscall # sigreturn(sf.isf_scp, sf.isf_ucp, sf.isf_signo)
+ break 0 # just in case sigreturn fails
END(irix_sigcode)
XLEAF(irix_esigcode)
#undef SYSCALL_SHIFT
diff -r 5af5b91a13bf -r 659fd1dbc902 sys/compat/irix/irix_signal.c
--- a/sys/compat/irix/irix_signal.c Sat Apr 13 10:28:36 2002 +0000
+++ b/sys/compat/irix/irix_signal.c Sat Apr 13 10:52:59 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: irix_signal.c,v 1.12 2002/04/12 18:44:58 manu Exp $ */
+/* $NetBSD: irix_signal.c,v 1.13 2002/04/13 10:53:00 manu Exp $ */
/*-
* Copyright (c) 1994, 2001-2002 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: irix_signal.c,v 1.12 2002/04/12 18:44:58 manu Exp $");
+__KERNEL_RCSID(0, "$NetBSD: irix_signal.c,v 1.13 2002/04/13 10:53:00 manu Exp $");
#include <sys/types.h>
#include <sys/signal.h>
@@ -233,7 +233,8 @@
* errno in userspace. This is used by the signal
* trampoline. No idea how to emulate this for now...
*/
- /* sf.isf_errno = 0; */
+ /* sf.isf_uep = NULL; */
+ /* sf.isf_errno = 0 */
/*
* Compute the new stack address after copying sigframe (hold by sp),
diff -r 5af5b91a13bf -r 659fd1dbc902 sys/compat/irix/irix_signal.h
--- a/sys/compat/irix/irix_signal.h Sat Apr 13 10:28:36 2002 +0000
+++ b/sys/compat/irix/irix_signal.h Sat Apr 13 10:52:59 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: irix_signal.h,v 1.8 2002/04/12 18:44:58 manu Exp $ */
+/* $NetBSD: irix_signal.h,v 1.9 2002/04/13 10:53:00 manu Exp $ */
/*-
* Copyright (c) 2001-2002 The NetBSD Foundation, Inc.
@@ -160,8 +160,8 @@
struct irix_sigframe {
int isf_pad1[7];
- int *isf_errno;
- int isf_pad2;
+ int *isf_uep; /* Pointer to errno in userspace */
+ int isf_errno;
int isf_signo;
struct irix_sigcontext *isf_scp;
struct irix_ucontext *isf_ucp;
Home |
Main Index |
Thread Index |
Old Index