[kaffe] CVS kaffe (guilhem): SIGNAL_ARGS implementation for i386 architectures using EXCEPTIONPROTO

Kaffe CVS cvs-commits at kaffe.org
Wed Aug 27 00:07:01 PDT 2003


PatchSet 3984 
Date: 2003/08/27 07:04:17
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
SIGNAL_ARGS implementation for i386 architectures using EXCEPTIONPROTO

Members: 
	ChangeLog:1.1581->1.1582 
	config/i386/beos/jit-md.h:1.2->1.3 
	config/i386/beos/md.h:1.4->1.5 
	config/i386/bsdi/md.h:1.2->1.3 
	config/i386/cygwin32/md.h:1.1->1.2 
	config/i386/dgux/jit-md.h:1.1->1.2 
	config/i386/dgux/md.h:1.1->1.2 
	config/i386/freebsd2/jit-md.h:1.1->1.2 
	config/i386/gnu/jit-md.h:1.1->1.2 
	config/i386/gnu/md.h:1.1->1.2 
	config/i386/linux/jit-md.h:1.3->1.4 
	config/i386/linux/md.h:1.4->1.5 
	config/i386/netbsd1/jit-md.h:1.1->1.2 
	config/i386/nextstep3/jit-md.h:1.1->1.2 
	config/i386/nextstep3/md.h:1.2->1.3 
	config/i386/openbsd2/jit-md.h:1.1->1.2 
	config/i386/oskit/jit-md.h:1.2->1.3 
	config/i386/oskit/md.h:1.3->1.4 
	config/i386/qnx/jit-md.h:1.1->1.2 
	config/i386/qnx/md.h:1.3->1.4 
	config/i386/sco3.2v5/jit-md.h:1.1->1.2 
	config/i386/sco3.2v5/md.h:1.1->1.2 
	config/i386/solaris2/jit-md.h:1.1->1.2 
	config/i386/solaris2/md.h:1.1->1.2 
	config/i386/univel_svr4/jit-md.h:1.1->1.2 
	config/i386/univel_svr4/md.h:1.3->1.4 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1581 kaffe/ChangeLog:1.1582
--- kaffe/ChangeLog:1.1581	Tue Aug 26 15:39:07 2003
+++ kaffe/ChangeLog	Wed Aug 27 07:04:17 2003
@@ -1,3 +1,28 @@
+2003-08-28  Guilhem Lavaux <guilhem at kaffe.org>
+
+	* config/i386/beos/md.h, config/i386/bsdi/md.h,
+	config/i386/cygwin32/md.h, config/i386/dgux/md.h,
+	config/i386/freebsd2/md.h, config/i386/gnu/md.h,
+	config/i386/linux/md.h, config/i386/netbsd1/md.h,
+	config/i386/nextstep3/md.h, config/i386/openbsd2/md.h,
+	config/i386/oskit/md.h, config/i386/qnx/md.h,
+	config/i386/sco3.2v5/md.h, config/i386/solaris2/md.h,
+	config/i386/univel_svr4/md.h, config/i386/win32/md.h,
+	config/i386/beos/jit-md.h, config/i386/bsdi/jit-md.h,
+	config/i386/cygwin32/jit-md.h, config/i386/dgux/jit-md.h,
+	config/i386/freebsd2/jit-md.h, config/i386/gnu/jit-md.h,
+	config/i386/linux/jit-md.h, config/i386/netbsd1/jit-md.h,
+	config/i386/nextstep3/jit-md.h, config/i386/openbsd2/jit-md.h,
+	config/i386/oskit/jit-md.h, config/i386/qnx/jit-md.h,
+	config/i386/sco3.2v5/jit-md.h, config/i386/solaris2/jit-md.h,
+	config/i386/univel_svr4/jit-md.h, config/i386/win32/jit-md.h:
+	Defined SIGNAL_ARGS using informations from EXCEPTIONPROTO.
+	Redefined EXCEPTIONPROTO as SIGNAL_ARGS(sig, ctx)
+	Moved some code from jit-md.h to md.h and defined
+	SIGNAL_CONTEXT_POINTER, GET_SIGNAL_CONTEXT_POINTER, SIGNAL_PC
+	wherever possible (not in win32).
+	CygWin32 fails completely for the moment.
+
 2003-08-26  Bernhard Rosenkraenzer <bero at arklinux.org>
 
 	* gwqt.m4:
Index: kaffe/config/i386/beos/jit-md.h
diff -u kaffe/config/i386/beos/jit-md.h:1.2 kaffe/config/i386/beos/jit-md.h:1.3
--- kaffe/config/i386/beos/jit-md.h:1.2	Thu Sep  9 18:02:29 1999
+++ kaffe/config/i386/beos/jit-md.h	Wed Aug 27 07:04:19 2003
@@ -22,8 +22,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, void* userdata, struct vregs* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/beos/md.h
diff -u kaffe/config/i386/beos/md.h:1.4 kaffe/config/i386/beos/md.h:1.5
--- kaffe/config/i386/beos/md.h:1.4	Tue Feb  9 06:08:19 1999
+++ kaffe/config/i386/beos/md.h	Wed Aug 27 07:04:19 2003
@@ -27,6 +27,11 @@
  */
 #define MAINSTACKSIZE	(220*1024)
 
+#define	SIGNAL_ARGS(sig, sc) int sig, void* userdata, struct vregs* sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct vregs * scp
+#define GET_SIGNAL_CONTEXT_POINTER(sc) (sc)
+#define SIGNAL_PC(scp) ((scp)->eip)
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/bsdi/md.h
diff -u kaffe/config/i386/bsdi/md.h:1.2 kaffe/config/i386/bsdi/md.h:1.3
--- kaffe/config/i386/bsdi/md.h:1.2	Fri May 21 16:58:35 1999
+++ kaffe/config/i386/bsdi/md.h	Wed Aug 27 07:04:19 2003
@@ -21,6 +21,11 @@
 #undef	SP_OFFSET
 #define	SP_OFFSET	2
 
+#define SIGNAL_ARGS(sig, sc) int sig, int code, struct sigcontext* sc
+#define SIGNAL_CONTEXT_POINTER(scp)  struct sigcontext* scp
+#define GET_SIGNAL_CONTEXT_POINTER(sc) (sc)
+#define SIGNAL_PC(scp) (scp)->sc_pc
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/cygwin32/md.h
diff -u kaffe/config/i386/cygwin32/md.h:1.1 kaffe/config/i386/cygwin32/md.h:1.2
--- kaffe/config/i386/cygwin32/md.h:1.1	Fri Aug 28 15:47:20 1998
+++ kaffe/config/i386/cygwin32/md.h	Wed Aug 27 07:04:19 2003
@@ -22,6 +22,8 @@
 #undef SP_OFFSET
 #define	SP_OFFSET	7
 
+#error Signal handlers are not supported on CygWin32.
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/dgux/jit-md.h
diff -u kaffe/config/i386/dgux/jit-md.h:1.1 kaffe/config/i386/dgux/jit-md.h:1.2
--- kaffe/config/i386/dgux/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/dgux/jit-md.h	Wed Aug 27 07:04:20 2003
@@ -41,15 +41,8 @@
 	asm volatile ("							\n\
 		addl %0,%%esp" : : "r" (4*(nargs+1)) : "cc")
 
-/**/
-/* Extra exception handling information. */
-/**/
-#include <siginfo.h>
-#include <ucontext.h>
-
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, siginfo_t* sip, ucontext_t* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/dgux/md.h
diff -u kaffe/config/i386/dgux/md.h:1.1 kaffe/config/i386/dgux/md.h:1.2
--- kaffe/config/i386/dgux/md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/dgux/md.h	Wed Aug 27 07:04:20 2003
@@ -15,6 +15,18 @@
 #include "i386/common.h"
 #include "i386/threads.h"
 
+/**/
+/* Extra exception handling information. */
+/**/
+#include <siginfo.h>
+#include <ucontext.h>
+
+/* Function prototype for signal handlers */
+#define	SIGNAL_ARGS(sig, sc) int sig, siginfo_t* sip, ucontext_t* sc
+#define SIGNAL_CONTEXT_POINTER(scp) ucontext_t* scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->uc_mcontext.gregs[R_EIP])
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/freebsd2/jit-md.h
diff -u kaffe/config/i386/freebsd2/jit-md.h:1.1 kaffe/config/i386/freebsd2/jit-md.h:1.2
--- kaffe/config/i386/freebsd2/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/freebsd2/jit-md.h	Wed Aug 27 07:04:20 2003
@@ -22,8 +22,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/gnu/jit-md.h
diff -u kaffe/config/i386/gnu/jit-md.h:1.1 kaffe/config/i386/gnu/jit-md.h:1.2
--- kaffe/config/i386/gnu/jit-md.h:1.1	Mon Jan 10 10:46:47 2000
+++ kaffe/config/i386/gnu/jit-md.h	Wed Aug 27 07:04:20 2003
@@ -41,13 +41,7 @@
 #undef SA_SIGINFO
 #endif
 
-/* Function prototype for signal handlers */
-#if defined(__GLIBC__)
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
-#else
-#error Do not know how to define EXCEPTIONPROTO
-#endif
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/gnu/md.h
diff -u kaffe/config/i386/gnu/md.h:1.1 kaffe/config/i386/gnu/md.h:1.2
--- kaffe/config/i386/gnu/md.h:1.1	Mon Jan 10 10:46:47 2000
+++ kaffe/config/i386/gnu/md.h	Wed Aug 27 07:04:21 2003
@@ -15,6 +15,17 @@
 #include "i386/common.h"
 #include "i386/threads.h"
 
+/* Function prototype for signal handlers */
+#if defined(__GLIBC__)
+#define	SIGNAL_ARGS(sig, sc) int sig, int code, struct sigcontext* sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext * scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#else
+#error Do not know how to define EXCEPTIONPROTO
+#endif
+
+#define SIGNAL_PC(scp) (scp)->eip
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/linux/jit-md.h
diff -u kaffe/config/i386/linux/jit-md.h:1.3 kaffe/config/i386/linux/jit-md.h:1.4
--- kaffe/config/i386/linux/jit-md.h:1.3	Fri Mar 26 01:49:41 1999
+++ kaffe/config/i386/linux/jit-md.h	Wed Aug 27 07:04:21 2003
@@ -44,19 +44,7 @@
 #undef SA_SIGINFO
 #endif
 
-/* Function prototype for signal handlers */
-#if defined(HAVE_STRUCT_SIGCONTEXT_STRUCT) && !defined(__GLIBC__)
-/* Linux < 2.1.1 */
-#define	EXCEPTIONPROTO							\
-	int sig, struct sigcontext_struct ctx
-
-#elif defined(HAVE_STRUCT_SIGCONTEXT) || defined(__GLIBC__)
-/* Linux >= 2.1.1  or Linux 2.0.x with glibc2 */
-#define	EXCEPTIONPROTO							\
-	int sig, struct sigcontext ctx
-#else
-#error Do not know how to define EXCEPTIONPROTO
-#endif
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/linux/md.h
diff -u kaffe/config/i386/linux/md.h:1.4 kaffe/config/i386/linux/md.h:1.5
--- kaffe/config/i386/linux/md.h:1.4	Wed Dec 20 02:39:56 2000
+++ kaffe/config/i386/linux/md.h	Wed Aug 27 07:04:21 2003
@@ -15,17 +15,31 @@
 #include "i386/common.h"
 #include "i386/threads.h"
 
-#if defined(TRANSLATOR)
-#include "jit-md.h"
-#endif
-
 /* Linux requires a little initialisation */
 extern void init_md(void);
 #define	INIT_MD()	init_md()
 
-#define SIGNAL_ARGS(sig, sc) int sig, struct sigcontext sc
+/* Function prototype for signal handlers */
+#if defined(HAVE_STRUCT_SIGCONTEXT_STRUCT) && !defined(__GLIBC__)
+/* Linux < 2.1.1 */
+#define	SIGNAL_ARGS(sig, sc)						\
+	int sig, struct sigcontext_struct sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext_struct * scp
+
+#elif defined(HAVE_STRUCT_SIGCONTEXT) || defined(__GLIBC__)
+/* Linux >= 2.1.1  or Linux 2.0.x with glibc2 */
+#define	SIGNAL_ARGS(sig, sc)						\
+	int sig, struct sigcontext sc
 #define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext * scp
+#else
+#error Do not know how to define SIGNAL_ARGS
+#endif
+
 #define GET_SIGNAL_CONTEXT_POINTER(sc) (&sc)
-#define SIGNAL_PC(scp) scp->eip
+#define SIGNAL_PC(scp) (scp)->eip
+
+#if defined(TRANSLATOR)
+#include "jit-md.h"
+#endif
 
 #endif
Index: kaffe/config/i386/netbsd1/jit-md.h
diff -u kaffe/config/i386/netbsd1/jit-md.h:1.1 kaffe/config/i386/netbsd1/jit-md.h:1.2
--- kaffe/config/i386/netbsd1/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/netbsd1/jit-md.h	Wed Aug 27 07:04:21 2003
@@ -22,8 +22,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/nextstep3/jit-md.h
diff -u kaffe/config/i386/nextstep3/jit-md.h:1.1 kaffe/config/i386/nextstep3/jit-md.h:1.2
--- kaffe/config/i386/nextstep3/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/nextstep3/jit-md.h	Wed Aug 27 07:04:21 2003
@@ -22,8 +22,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/nextstep3/md.h
diff -u kaffe/config/i386/nextstep3/md.h:1.2 kaffe/config/i386/nextstep3/md.h:1.3
--- kaffe/config/i386/nextstep3/md.h:1.2	Tue Oct 13 05:09:43 1998
+++ kaffe/config/i386/nextstep3/md.h	Wed Aug 27 07:04:21 2003
@@ -21,6 +21,12 @@
 #undef	SP_OFFSET
 #define	SP_OFFSET	9
 
+/* Function prototype for signal handlers */
+#define	SIGNAL_ARGS(sig, sc) int sig, int code, struct sigcontext* sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext* scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->sc_eip)
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/openbsd2/jit-md.h
diff -u kaffe/config/i386/openbsd2/jit-md.h:1.1 kaffe/config/i386/openbsd2/jit-md.h:1.2
--- kaffe/config/i386/openbsd2/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/openbsd2/jit-md.h	Wed Aug 27 07:04:22 2003
@@ -22,8 +22,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/oskit/jit-md.h
diff -u kaffe/config/i386/oskit/jit-md.h:1.2 kaffe/config/i386/oskit/jit-md.h:1.3
--- kaffe/config/i386/oskit/jit-md.h:1.2	Mon Mar  6 18:20:32 2000
+++ kaffe/config/i386/oskit/jit-md.h	Wed Aug 27 07:04:22 2003
@@ -21,8 +21,7 @@
 /**/
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, int code, struct sigcontext* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/oskit/md.h
diff -u kaffe/config/i386/oskit/md.h:1.3 kaffe/config/i386/oskit/md.h:1.4
--- kaffe/config/i386/oskit/md.h:1.3	Sat Oct 16 22:51:30 1999
+++ kaffe/config/i386/oskit/md.h	Wed Aug 27 07:04:22 2003
@@ -19,6 +19,11 @@
  */
 #undef	SP_OFFSET
 
+#define SIGNAL_ARGS(sig, scp) int sig, int code, struct sigcontext* scp
+#define SIGNAL_CONTEXT_POINTER(scp) struct sigcontext* scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->sc_eip)
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/qnx/jit-md.h
diff -u kaffe/config/i386/qnx/jit-md.h:1.1 kaffe/config/i386/qnx/jit-md.h:1.2
--- kaffe/config/i386/qnx/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/qnx/jit-md.h	Wed Aug 27 07:04:22 2003
@@ -38,39 +38,8 @@
 
 #include <sys/types.h>
 
-/* 
- * The contents of a QNX signal context was posted to comp.os.qnx on 
- * Oct 6, 1997 by Steve McPolin, QNX Software Systems. 
- */
-
-struct _sigcontext {
-        ulong_t   sc_mask;
-        ulong_t   sc_gs:16,:16; /* register set at fault time */
-        ulong_t   sc_fs:16,:16;
-        ulong_t   sc_es:16,:16;
-        ulong_t   sc_ds:16,:16;
-        ulong_t   sc_di;
-        ulong_t   sc_si;
-        ulong_t   sc_bp;
-        ulong_t   :32;          /* hole from pushad */
-        ulong_t   sc_bx;
-        ulong_t   sc_dx;
-        ulong_t   sc_cx;
-        ulong_t   sc_ax;
-        ulong_t   sc_ip;
-        ulong_t   sc_cs:16, :16;
-        ulong_t   sc_fl;
-        ulong_t   sc_sp;
-        ulong_t   sc_ss:16, :16;
-        ulong_t   sc_info;       /* fault specific info */
-        ushort_t  sc_errc;       /* error code pushed by processor */
-        uchar_t   sc_fault;      /* actual fault # */
-        uchar_t   sc_flags;      /* signal handler flags: */
-};
-
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO \
-	int sig, struct _sigcontext *ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c) \
Index: kaffe/config/i386/qnx/md.h
diff -u kaffe/config/i386/qnx/md.h:1.3 kaffe/config/i386/qnx/md.h:1.4
--- kaffe/config/i386/qnx/md.h:1.3	Thu Dec 17 21:23:43 1998
+++ kaffe/config/i386/qnx/md.h	Wed Aug 27 07:04:22 2003
@@ -28,6 +28,41 @@
 #undef	SP_OFFSET
 #define	SP_OFFSET	7
 
+/* 
+ * The contents of a QNX signal context was posted to comp.os.qnx on 
+ * Oct 6, 1997 by Steve McPolin, QNX Software Systems. 
+ */
+
+struct _sigcontext {
+        ulong_t   sc_mask;
+        ulong_t   sc_gs:16,:16; /* register set at fault time */
+        ulong_t   sc_fs:16,:16;
+        ulong_t   sc_es:16,:16;
+        ulong_t   sc_ds:16,:16;
+        ulong_t   sc_di;
+        ulong_t   sc_si;
+        ulong_t   sc_bp;
+        ulong_t   :32;          /* hole from pushad */
+        ulong_t   sc_bx;
+        ulong_t   sc_dx;
+        ulong_t   sc_cx;
+        ulong_t   sc_ax;
+        ulong_t   sc_ip;
+        ulong_t   sc_cs:16, :16;
+        ulong_t   sc_fl;
+        ulong_t   sc_sp;
+        ulong_t   sc_ss:16, :16;
+        ulong_t   sc_info;       /* fault specific info */
+        ushort_t  sc_errc;       /* error code pushed by processor */
+        uchar_t   sc_fault;      /* actual fault # */
+        uchar_t   sc_flags;      /* signal handler flags: */
+};
+
+#define SIGNAL_ARGS(sig, sc) int sig, struct _sigcontext *sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct _sigcontext *scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->sc_ip)
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/sco3.2v5/jit-md.h
diff -u kaffe/config/i386/sco3.2v5/jit-md.h:1.1 kaffe/config/i386/sco3.2v5/jit-md.h:1.2
--- kaffe/config/i386/sco3.2v5/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/sco3.2v5/jit-md.h	Wed Aug 27 07:04:23 2003
@@ -26,8 +26,7 @@
 #include <ucontext.h>
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO						\
-	int sig, siginfo_t* sip, ucontext_t* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)					\
Index: kaffe/config/i386/sco3.2v5/md.h
diff -u kaffe/config/i386/sco3.2v5/md.h:1.1 kaffe/config/i386/sco3.2v5/md.h:1.2
--- kaffe/config/i386/sco3.2v5/md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/sco3.2v5/md.h	Wed Aug 27 07:04:23 2003
@@ -17,6 +17,11 @@
 
 #define	POSIX_SIGNALS
 
+#define SIGNAL_ARGS(sig, sc) int sig, siginfo_t* sip, ucontext_t* ctx
+#define SIGNAL_CONTEXT_POINTER(scp) ucontext_t* ctx
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->uc_mcontext.regs[EIP])
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/solaris2/jit-md.h
diff -u kaffe/config/i386/solaris2/jit-md.h:1.1 kaffe/config/i386/solaris2/jit-md.h:1.2
--- kaffe/config/i386/solaris2/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/solaris2/jit-md.h	Wed Aug 27 07:04:23 2003
@@ -24,8 +24,7 @@
 #include <ucontext.h>
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, siginfo_t* sip, ucontext_t* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/solaris2/md.h
diff -u kaffe/config/i386/solaris2/md.h:1.1 kaffe/config/i386/solaris2/md.h:1.2
--- kaffe/config/i386/solaris2/md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/solaris2/md.h	Wed Aug 27 07:04:23 2003
@@ -15,6 +15,11 @@
 #include "i386/common.h"
 #include "i386/threads.h"
 
+#define	SIGNAL_ARGS(sig, sc) int sig, siginfo_t* sip, ucontext_t* sc
+#define SIGNAL_CONTEXT_POINTER(scp) struct ucontext_t * scp
+#define GET_SIGNAL_CONTEXT_POINTER(sc) (sc)
+#define SIGNAL_PC(scp) ((scp)->uc_mcontext.gregs[EIP])
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif
Index: kaffe/config/i386/univel_svr4/jit-md.h
diff -u kaffe/config/i386/univel_svr4/jit-md.h:1.1 kaffe/config/i386/univel_svr4/jit-md.h:1.2
--- kaffe/config/i386/univel_svr4/jit-md.h:1.1	Tue Mar 31 19:10:53 1998
+++ kaffe/config/i386/univel_svr4/jit-md.h	Wed Aug 27 07:04:24 2003
@@ -24,8 +24,7 @@
 #include <ucontext.h>
 
 /* Function prototype for signal handlers */
-#define	EXCEPTIONPROTO							\
-	int sig, siginfo_t* sip, ucontext_t* ctx
+#define	EXCEPTIONPROTO SIGNAL_ARGS(sig, ctx)
 
 /* Get the first exception frame from a signal handler */
 #define	EXCEPTIONFRAME(f, c)						\
Index: kaffe/config/i386/univel_svr4/md.h
diff -u kaffe/config/i386/univel_svr4/md.h:1.3 kaffe/config/i386/univel_svr4/md.h:1.4
--- kaffe/config/i386/univel_svr4/md.h:1.3	Thu Dec 17 21:23:44 1998
+++ kaffe/config/i386/univel_svr4/md.h	Wed Aug 27 07:04:24 2003
@@ -15,6 +15,12 @@
 #include "i386/common.h"
 #include "i386/threads.h"
 
+/* Function prototype for signal handlers */
+#define	SIGNAL_ARGS(sig, sc) int sig, siginfo_t* sip, ucontext_t* sc
+#define SIGNAL_CONTEXT_POINTER(scp) ucontext_t* scp
+#define GET_SIGNAL_CONTEXT_POINTER(scp) (scp)
+#define SIGNAL_PC(scp) ((scp)->uc_mcontext.gregs[EIP])
+
 #if defined(TRANSLATOR)
 #include "jit-md.h"
 #endif




More information about the kaffe mailing list