diff options
author | jmcneill <jmcneill> | 2008-06-28 00:12:40 +0000 |
---|---|---|
committer | jmcneill <jmcneill> | 2008-06-28 00:12:40 +0000 |
commit | 9d8642b6fbdf47688bc9d5d83e11fbc88e849fe0 (patch) | |
tree | 5bd59b50665bc97492a1fa0c6681890dfd41dd29 /emulators | |
parent | a456093a1e5f829715251368b225f544b53d58a7 (diff) | |
download | pkgsrc-9d8642b6fbdf47688bc9d5d83e11fbc88e849fe0.tar.gz |
Fix exception handling on i386.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/wine/patches/patch-af | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/emulators/wine/patches/patch-af b/emulators/wine/patches/patch-af index 39cf8aaa84d..1275123ae53 100644 --- a/emulators/wine/patches/patch-af +++ b/emulators/wine/patches/patch-af @@ -1,8 +1,8 @@ -$NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ +$NetBSD: patch-af,v 1.25 2008/06/28 00:12:40 jmcneill Exp $ --- dlls/ntdll/signal_i386.c.orig 2008-06-17 10:07:31.000000000 -0400 -+++ dlls/ntdll/signal_i386.c 2008-06-22 13:19:30.000000000 -0400 -@@ -199,7 +199,7 @@ typedef struct trapframe SIGCONTEXT; ++++ dlls/ntdll/signal_i386.c 2008-06-27 18:35:37.000000000 -0400 +@@ -199,7 +199,7 @@ #endif /* bsdi */ @@ -11,7 +11,7 @@ $NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ typedef struct sigcontext SIGCONTEXT; -@@ -332,6 +332,39 @@ typedef ucontext_t SIGCONTEXT; +@@ -332,6 +332,39 @@ #endif /* __APPLE__ */ @@ -29,7 +29,7 @@ $NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ +#define ESI_sig(context) ((context)->uc_mcontext.__gregs[_REG_ESI]) +#define EDI_sig(context) ((context)->uc_mcontext.__gregs[_REG_EDI]) +#define EBP_sig(context) ((context)->uc_mcontext.__gregs[_REG_EBP]) -+#define ESP_sig(context) (*((unsigned long*)&(context)->uc_mcontext.__gregs[_REG_ESP])) ++#define ESP_sig(context) _UC_MACHINE_SP(context) + +#define CS_sig(context) ((context)->uc_mcontext.__gregs[_REG_CS]) +#define DS_sig(context) ((context)->uc_mcontext.__gregs[_REG_DS]) @@ -39,7 +39,7 @@ $NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ +#define GS_sig(context) ((context)->uc_mcontext.__gregs[_REG_GS]) + +#define EFL_sig(context) ((context)->uc_mcontext.__gregs[_REG_EFL]) -+#define EIP_sig(context) (*((unsigned long*)&(context)->uc_mcontext.__gregs[_REG_EIP])) ++#define EIP_sig(context) _UC_MACHINE_PC(context) +#define TRAP_sig(context) ((context)->uc_mcontext.__gregs[_REG_TRAPNO]) +#define ERROR_sig(context) ((context)->uc_mcontext.__gregs[_REG_ERR]) + @@ -51,7 +51,7 @@ $NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ WINE_DEFAULT_DEBUG_CHANNEL(seh); typedef int (*wine_signal_handler)(unsigned int sig); -@@ -366,8 +399,13 @@ enum i386_trap_code +@@ -366,8 +399,13 @@ TRAP_x86_PAGEFLT = T_PAGEFLT, /* Page fault */ TRAP_x86_ARITHTRAP = T_ARITHTRAP, /* Floating point exception */ TRAP_x86_ALIGNFLT = T_ALIGNFLT, /* Alignment check exception */ @@ -65,7 +65,7 @@ $NetBSD: patch-af,v 1.24 2008/06/22 23:38:18 dholland Exp $ #else TRAP_x86_DIVIDE = 0, /* Division by zero exception */ TRAP_x86_TRCTRAP = 1, /* Single-step exception */ -@@ -1561,7 +1599,11 @@ BOOL SIGNAL_Init(void) +@@ -1561,7 +1599,11 @@ #endif /* HAVE_SIGALTSTACK */ sig_act.sa_mask = server_block_set; |