openbsd-ports/emulators/wine/patches/patch-aa

34 lines
1.0 KiB
Plaintext

--- msdos/dpmi.c.orig Thu Feb 25 14:32:56 1999
+++ msdos/dpmi.c Tue Nov 9 02:42:00 1999
@@ -20,6 +20,7 @@
#include "process.h"
#include "callback.h"
#include "debug.h"
+#include "stackframe.h"
#define DOS_GET_DRIVE(reg) ((reg) ? (reg) - 1 : DRIVE_GetCurrentDrive())
@@ -212,6 +213,7 @@
if (flag & 1) {
/* 32-bit DPMI client */
__asm__ __volatile__("
+ pushl %%si
pushl %%es
pushl %%ds
pushfl
@@ -221,12 +223,13 @@
popl %%ds
movl %%es,%0
popl %%es
+ popl %%si
"
: "=g" (es), "=D" (edi)
: "m" (rmcb->proc_ofs),
"g" (ss), "g" (rmcb->regs_sel),
"S" (ESP_reg(context)), "D" (rmcb->regs_ofs)
- : "eax", "ecx", "edx", "esi", "ebp" );
+ : "eax", "ecx", "edx", "ebp" );
} else {
/* 16-bit DPMI client */
CONTEXT ctx = *context;