summaryrefslogtreecommitdiff
path: root/sys/compat/linux
diff options
context:
space:
mode:
authorchristos <christos@NetBSD.org>2002-03-19 20:51:59 +0000
committerchristos <christos@NetBSD.org>2002-03-19 20:51:59 +0000
commitbda4b15e05d256cdb9a1fd4bf6b032e2335e597c (patch)
tree96d0b622b0733103d178e07bc0f78f9178efa955 /sys/compat/linux
parent225441db6e00440b52872fa1c31994e919c973f6 (diff)
- Now that RT-signals fit, fix the array to deliver them. [i386 only].
- jdk-1.4 works perfectly now. :-)
Diffstat (limited to 'sys/compat/linux')
-rw-r--r--sys/compat/linux/arch/alpha/linux_signal.h10
-rw-r--r--sys/compat/linux/arch/arm/linux_signal.h7
-rw-r--r--sys/compat/linux/arch/i386/linux_sigarray.c132
-rw-r--r--sys/compat/linux/arch/i386/linux_signal.h7
-rw-r--r--sys/compat/linux/arch/m68k/linux_signal.h11
-rw-r--r--sys/compat/linux/arch/mips/linux_signal.h4
-rw-r--r--sys/compat/linux/arch/powerpc/linux_signal.h6
-rw-r--r--sys/compat/linux/common/linux_signal.c110
8 files changed, 171 insertions, 116 deletions
diff --git a/sys/compat/linux/arch/alpha/linux_signal.h b/sys/compat/linux/arch/alpha/linux_signal.h
index 50a67f4698e..62d8762e9b2 100644
--- a/sys/compat/linux/arch/alpha/linux_signal.h
+++ b/sys/compat/linux/arch/alpha/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.2 1998/12/10 00:31:50 erh Exp $ */
+/* $NetBSD: linux_signal.h,v 1.3 2002/03/19 20:51:59 christos Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -80,15 +80,15 @@
#define LINUX_SIGPWR LINUX_SIGINFO
#define LINUX_SIGPOLL LINUX_SIGIO
+/* Min/max real-time linux signal */
+#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
+
#define LINUX__NSIG 64
#define LINUX__NSIG_BPW 64
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
#define LINUX_NSIG 32
-/* Min/max real-time linux signal */
-#define LINUX_SIGRTMIN 32
-#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
-
/* sa_flags */
#define LINUX_SA_ONSTACK 0x00000001
#define LINUX_SA_RESTART 0x00000002
diff --git a/sys/compat/linux/arch/arm/linux_signal.h b/sys/compat/linux/arch/arm/linux_signal.h
index 769b8c37046..c9fbee227c9 100644
--- a/sys/compat/linux/arch/arm/linux_signal.h
+++ b/sys/compat/linux/arch/arm/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.2 2002/02/17 22:45:29 bjh21 Exp $ */
+/* $NetBSD: linux_signal.h,v 1.3 2002/03/19 20:51:59 christos Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -70,9 +70,14 @@
#define LINUX_SIGWINCH 28
#define LINUX_SIGIO 29
#define LINUX_SIGPWR 30
+#define LINUX_SIGSYS 31
#define LINUX_SIGUNUSED 31
#define LINUX_NSIG 32
+/* Min/max real-time linux signal */
+#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
+
#define LINUX__NSIG 64
#define LINUX__NSIG_BPW 32
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
diff --git a/sys/compat/linux/arch/i386/linux_sigarray.c b/sys/compat/linux/arch/i386/linux_sigarray.c
index 40d9ef079ff..e0e8b2f8c43 100644
--- a/sys/compat/linux/arch/i386/linux_sigarray.c
+++ b/sys/compat/linux/arch/i386/linux_sigarray.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_sigarray.c,v 1.19 2001/11/13 02:08:39 lukem Exp $ */
+/* $NetBSD: linux_sigarray.c,v 1.20 2002/03/19 20:51:59 christos Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sigarray.c,v 1.19 2001/11/13 02:08:39 lukem Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sigarray.c,v 1.20 2002/03/19 20:51:59 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -47,68 +47,68 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sigarray.c,v 1.19 2001/11/13 02:08:39 lukem Ex
#include <compat/linux/common/linux_signal.h>
int const linux_to_native_sig[LINUX__NSIG] = {
- 0,
- SIGHUP,
- SIGINT,
- SIGQUIT,
- SIGILL,
- SIGTRAP,
- SIGABRT,
- SIGBUS,
- SIGFPE,
- SIGKILL,
- SIGUSR1,
- SIGSEGV,
- SIGUSR2,
- SIGPIPE,
- SIGALRM,
- SIGTERM,
- 0, /* SIGSTKFLT */
- SIGCHLD,
- SIGCONT,
- SIGSTOP,
- SIGTSTP,
- SIGTTIN,
- SIGTTOU,
- SIGURG,
- SIGXCPU,
- SIGXFSZ,
- SIGVTALRM,
- SIGPROF,
- SIGWINCH,
- SIGIO,
- SIGPWR,
- 0, /* SIGUNUSED */
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
+ 0, /* 0 */
+ SIGHUP, /* 1 */
+ SIGINT, /* 2 */
+ SIGQUIT, /* 3 */
+ SIGILL, /* 4 */
+ SIGTRAP, /* 5 */
+ SIGABRT, /* 6 */
+ SIGBUS, /* 7 */
+ SIGFPE, /* 8 */
+ SIGKILL, /* 9 */
+ SIGUSR1, /* 10 */
+ SIGSEGV, /* 11 */
+ SIGUSR2, /* 12 */
+ SIGPIPE, /* 13 */
+ SIGALRM, /* 14 */
+ SIGTERM, /* 15 */
+ 0, /* 16 SIGSTKFLT */
+ SIGCHLD, /* 17 */
+ SIGCONT, /* 18 */
+ SIGSTOP, /* 19 */
+ SIGTSTP, /* 20 */
+ SIGTTIN, /* 21 */
+ SIGTTOU, /* 22 */
+ SIGURG, /* 23 */
+ SIGXCPU, /* 24 */
+ SIGXFSZ, /* 25 */
+ SIGVTALRM, /* 26 */
+ SIGPROF, /* 27 */
+ SIGWINCH, /* 28 */
+ SIGIO, /* 29 */
+ SIGPWR, /* 30 */
+ SIGSYS, /* 31 */
+ SIGRTMIN + 0, /* 32 */
+ SIGRTMIN + 1, /* 33 */
+ SIGRTMIN + 2, /* 34 */
+ SIGRTMIN + 3, /* 35 */
+ SIGRTMIN + 4, /* 36 */
+ SIGRTMIN + 5, /* 37 */
+ SIGRTMIN + 6, /* 38 */
+ SIGRTMIN + 7, /* 39 */
+ SIGRTMIN + 8, /* 40 */
+ SIGRTMIN + 9, /* 41 */
+ SIGRTMIN + 10, /* 42 */
+ SIGRTMIN + 11, /* 43 */
+ SIGRTMIN + 12, /* 44 */
+ SIGRTMIN + 13, /* 45 */
+ SIGRTMIN + 14, /* 46 */
+ SIGRTMIN + 15, /* 47 */
+ SIGRTMIN + 16, /* 48 */
+ SIGRTMIN + 17, /* 49 */
+ SIGRTMIN + 18, /* 50 */
+ SIGRTMIN + 19, /* 51 */
+ SIGRTMIN + 20, /* 52 */
+ SIGRTMIN + 21, /* 53 */
+ SIGRTMIN + 22, /* 54 */
+ SIGRTMIN + 23, /* 55 */
+ SIGRTMIN + 24, /* 56 */
+ SIGRTMIN + 25, /* 57 */
+ SIGRTMIN + 26, /* 58 */
+ SIGRTMIN + 27, /* 59 */
+ SIGRTMIN + 28, /* 60 */
+ SIGRTMIN + 29, /* 61 */
+ SIGRTMIN + 30, /* 62 */
+ 0 /* 63 */
};
diff --git a/sys/compat/linux/arch/i386/linux_signal.h b/sys/compat/linux/arch/i386/linux_signal.h
index 897876adbd3..2dd0a521bd0 100644
--- a/sys/compat/linux/arch/i386/linux_signal.h
+++ b/sys/compat/linux/arch/i386/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.10 2002/02/15 16:48:00 christos Exp $ */
+/* $NetBSD: linux_signal.h,v 1.11 2002/03/19 20:51:59 christos Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -70,9 +70,14 @@
#define LINUX_SIGWINCH 28
#define LINUX_SIGIO 29
#define LINUX_SIGPWR 30
+#define LINUX_SIGSYS 31
#define LINUX_SIGUNUSED 31
#define LINUX_NSIG 32
+/* Min/max real-time linux signal */
+#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
+
#define LINUX__NSIG 64
#define LINUX__NSIG_BPW 32
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
diff --git a/sys/compat/linux/arch/m68k/linux_signal.h b/sys/compat/linux/arch/m68k/linux_signal.h
index 4db24de3bab..c015e34283f 100644
--- a/sys/compat/linux/arch/m68k/linux_signal.h
+++ b/sys/compat/linux/arch/m68k/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.1 1998/12/15 19:25:41 itohy Exp $ */
+/* $NetBSD: linux_signal.h,v 1.2 2002/03/19 20:51:59 christos Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -75,19 +75,20 @@
#define LINUX_SIGIO 29
#define LINUX_SIGPWR 30
#define LINUX_SIGUNUSED 31
+#define LINUX_SIGSYS 31
#define LINUX_SIGIOT LINUX_SIGABRT
#define LINUX_SIGPOLL LINUX_SIGIO
+/* Min/max real-time linux signal */
+#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG-1)
+
#define LINUX__NSIG 64
#define LINUX__NSIG_BPW 32
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
#define LINUX_NSIG 32
-/* Min/max real-time linux signal */
-#define LINUX_SIGRTMIN 32
-#define LINUX_SIGRTMAX (LINUX__NSIG-1)
-
/* sa_flags */
#define LINUX_SA_NOCLDSTOP 0x00000001
#define LINUX_SA_NOCLDWAIT 0x00000002
diff --git a/sys/compat/linux/arch/mips/linux_signal.h b/sys/compat/linux/arch/mips/linux_signal.h
index 58ed88be846..166d3dd1f56 100644
--- a/sys/compat/linux/arch/mips/linux_signal.h
+++ b/sys/compat/linux/arch/mips/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.6 2002/02/19 14:11:49 rafal Exp $ */
+/* $NetBSD: linux_signal.h,v 1.7 2002/03/19 20:52:00 christos Exp $ */
/*-
* Copyright (c) 1995, 1998, 2001 The NetBSD Foundation, Inc.
@@ -91,7 +91,9 @@ struct linux_pt_regs {
#define LINUX_SIGXCPU 30
#define LINUX_SIGXFSZ 31
+/* Min/max real-time linux signal */
#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
#define LINUX__NSIG 128
#if defined(ELFSIZE) && (ELFSIZE == 64)
diff --git a/sys/compat/linux/arch/powerpc/linux_signal.h b/sys/compat/linux/arch/powerpc/linux_signal.h
index 989b0830a2d..171cc329b3b 100644
--- a/sys/compat/linux/arch/powerpc/linux_signal.h
+++ b/sys/compat/linux/arch/powerpc/linux_signal.h
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.h,v 1.3 2002/02/19 16:35:59 nathanw Exp $ */
+/* $NetBSD: linux_signal.h,v 1.4 2002/03/19 20:52:00 christos Exp $ */
/*-
* Copyright (c) 1995, 1998, 2001 The NetBSD Foundation, Inc.
@@ -79,6 +79,10 @@
#define LINUX_SIGUNUSED 31
#define LINUX_SIGRTMIN 32
+/* Min/max real-time linux signal */
+#define LINUX_SIGRTMIN 32
+#define LINUX_SIGRTMAX (LINUX__NSIG - 1)
+
#define LINUX__NSIG 64
#define LINUX__NSIG_BPW 32
#define LINUX__NSIG_WORDS (LINUX__NSIG / LINUX__NSIG_BPW)
diff --git a/sys/compat/linux/common/linux_signal.c b/sys/compat/linux/common/linux_signal.c
index b03e09aa1fc..c6c561c1aeb 100644
--- a/sys/compat/linux/common/linux_signal.c
+++ b/sys/compat/linux/common/linux_signal.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_signal.c,v 1.34 2002/02/18 22:24:18 christos Exp $ */
+/* $NetBSD: linux_signal.c,v 1.35 2002/03/19 20:52:00 christos Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -54,7 +54,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.34 2002/02/18 22:24:18 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.35 2002/03/19 20:52:00 christos Exp $");
#define COMPAT_LINUX 1
@@ -86,41 +86,79 @@ __KERNEL_RCSID(0, "$NetBSD: linux_signal.c,v 1.34 2002/02/18 22:24:18 christos E
#define linux_sigaddset(s, n) ((s)->sig[((n) - 1) / LINUX__NSIG_BPW] \
|= (1 << ((n) - 1) % LINUX__NSIG_BPW))
+#ifndef LINUX_SIGINFO
+#define LINUX_SIGINFO 0
+#endif
+#ifndef LINUX_SIGEMT
+#define LINUX_SIGEMT 0
+#endif
/* Note: linux_to_native_sig[] is in <arch>/linux_sigarray.c */
-const int native_to_linux_sig[NSIG] = {
- 0,
- LINUX_SIGHUP,
- LINUX_SIGINT,
- LINUX_SIGQUIT,
- LINUX_SIGILL,
- LINUX_SIGTRAP,
- LINUX_SIGABRT,
- 0, /* SIGEMT */
- LINUX_SIGFPE,
- LINUX_SIGKILL,
- LINUX_SIGBUS,
- LINUX_SIGSEGV,
- 0, /* SIGSYS */
- LINUX_SIGPIPE,
- LINUX_SIGALRM,
- LINUX_SIGTERM,
- LINUX_SIGURG,
- LINUX_SIGSTOP,
- LINUX_SIGTSTP,
- LINUX_SIGCONT,
- LINUX_SIGCHLD,
- LINUX_SIGTTIN,
- LINUX_SIGTTOU,
- LINUX_SIGIO,
- LINUX_SIGXCPU,
- LINUX_SIGXFSZ,
- LINUX_SIGVTALRM,
- LINUX_SIGPROF,
- LINUX_SIGWINCH,
- 0, /* SIGINFO */
- LINUX_SIGUSR1,
- LINUX_SIGUSR2,
- LINUX_SIGPWR,
+const int native_to_linux_sig[] = {
+ 0, /* 0 */
+ LINUX_SIGHUP, /* 1 */
+ LINUX_SIGINT, /* 2 */
+ LINUX_SIGQUIT, /* 3 */
+ LINUX_SIGILL, /* 4 */
+ LINUX_SIGTRAP, /* 5 */
+ LINUX_SIGABRT, /* 6 */
+ LINUX_SIGEMT, /* 7 */
+ LINUX_SIGFPE, /* 8 */
+ LINUX_SIGKILL, /* 9 */
+ LINUX_SIGBUS, /* 10 */
+ LINUX_SIGSEGV, /* 11 */
+ LINUX_SIGSYS, /* 12 */
+ LINUX_SIGPIPE, /* 13 */
+ LINUX_SIGALRM, /* 14 */
+ LINUX_SIGTERM, /* 15 */
+ LINUX_SIGURG, /* 16 */
+ LINUX_SIGSTOP, /* 17 */
+ LINUX_SIGTSTP, /* 18 */
+ LINUX_SIGCONT, /* 19 */
+ LINUX_SIGCHLD, /* 20 */
+ LINUX_SIGTTIN, /* 21 */
+ LINUX_SIGTTOU, /* 22 */
+ LINUX_SIGIO, /* 23 */
+ LINUX_SIGXCPU, /* 24 */
+ LINUX_SIGXFSZ, /* 25 */
+ LINUX_SIGVTALRM, /* 26 */
+ LINUX_SIGPROF, /* 27 */
+ LINUX_SIGWINCH, /* 28 */
+ LINUX_SIGINFO, /* 29 */
+ LINUX_SIGUSR1, /* 30 */
+ LINUX_SIGUSR2, /* 31 */
+ LINUX_SIGPWR, /* 32 */
+ LINUX_SIGRTMIN + 0, /* 33 */
+ LINUX_SIGRTMIN + 1, /* 34 */
+ LINUX_SIGRTMIN + 2, /* 35 */
+ LINUX_SIGRTMIN + 3, /* 36 */
+ LINUX_SIGRTMIN + 4, /* 37 */
+ LINUX_SIGRTMIN + 5, /* 38 */
+ LINUX_SIGRTMIN + 6, /* 39 */
+ LINUX_SIGRTMIN + 7, /* 40 */
+ LINUX_SIGRTMIN + 8, /* 41 */
+ LINUX_SIGRTMIN + 9, /* 42 */
+ LINUX_SIGRTMIN + 10, /* 43 */
+ LINUX_SIGRTMIN + 11, /* 44 */
+ LINUX_SIGRTMIN + 12, /* 45 */
+ LINUX_SIGRTMIN + 13, /* 46 */
+ LINUX_SIGRTMIN + 14, /* 47 */
+ LINUX_SIGRTMIN + 15, /* 48 */
+ LINUX_SIGRTMIN + 16, /* 49 */
+ LINUX_SIGRTMIN + 17, /* 50 */
+ LINUX_SIGRTMIN + 18, /* 51 */
+ LINUX_SIGRTMIN + 19, /* 52 */
+ LINUX_SIGRTMIN + 20, /* 53 */
+ LINUX_SIGRTMIN + 21, /* 54 */
+ LINUX_SIGRTMIN + 22, /* 55 */
+ LINUX_SIGRTMIN + 23, /* 56 */
+ LINUX_SIGRTMIN + 24, /* 57 */
+ LINUX_SIGRTMIN + 25, /* 58 */
+ LINUX_SIGRTMIN + 26, /* 59 */
+ LINUX_SIGRTMIN + 27, /* 60 */
+ LINUX_SIGRTMIN + 28, /* 61 */
+ LINUX_SIGRTMIN + 29, /* 62 */
+ LINUX_SIGRTMIN + 30, /* 63 */
+
};
/*