[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