PATCH for dlls/winedos/relay.c breakage
Gerald Pfeifer
pfeifer at dbai.tuwien.ac.at
Mon Jun 23 05:20:48 CDT 2003
The following patch to dlls/winedos/relay.c
revision 1.2
date: 2003/06/23 03:35:51; author: julliard; state: Exp; lines: +39 -32
Jukka Heinonen <jhei at iki.fi>
Add IRQ acknowledge handler for internal IRQs.
Change DPMI asynchronous event handling.
Always use alternate stack in DPMI relays and check for pending events
after original stack has been restored.
broke compilation on non-Linux platforms as follows:
/usr/bin/gcc -c -I. -I. -I../../include -I../../include -D_REENTRANT -fPIC -D__WINESRC__ -Wall -mpreferred-stack-boundary=2 -gstabs+ -Wpointer-arith -g -O2 -o winedos.spec.o winedos.spec.c
/usr/bin/gcc -shared -Wl,-Bsymbolic,-z,defs winedos.spec.o wprocs.spec.o
devices.o dma.o dosaspi.o dosconf.o dosvm.o fpu.o himem.o int09.o int10.o
int11.o int12.o int13.o int15.o int16.o int17.o int19.o int1a.o int20.o
int21.o int25.o int26.o int29.o int2a.o int2f.o int31.o int33.o int41.o
int4b.o int5c.o int67.o interrupts.o ioports.o module.o relay.o
soundblaster.o timer.o vga.o vxd.o xms.o winedos.dll.dbg.o -o
winedos.dll.so -L../../dlls -L../../libs/wine -lwine
-L../../libs/unicode -lwine_unicode -L../../libs/port -lwine_port -lm
-lc relay.o: In function `DOSVM_RelayHandler':
/.amd_mnt/nashira/files5/test/wine/dlls/winedos/relay.c:145: undefined reference to `DOSVM_SendQueuedEvents'
gmake[2]: *** [winedos.dll.so] Error 1
gmake[2]: Leaving directory `/.amd_mnt/nashira/files5/test/wine/dlls/winedos'
gmake[1]: *** [winedos] Error 2
I chose the fix below instead of yet-another-dummy-functions, because
that reduces the #ifdef-ed portion of the code and thus improves
continous build testing on various platforms (and provides a little
bit of functionality, though that probably doesn't matter much).
Gerald
ChangeLog:
Expose part of DOSVM_SendQueuedEvents() also for platforms without
MZ_SUPPORTED.
Index: dosvm.c
===================================================================
RCS file: /home/wine/wine/dlls/winedos/dosvm.c,v
retrieving revision 1.41
diff -u -3 -p -r1.41 dosvm.c
--- dosvm.c 23 Jun 2003 03:35:51 -0000 1.41
+++ dosvm.c 23 Jun 2003 09:47:51 -0000
@@ -61,8 +61,6 @@ WINE_DECLARE_DEBUG_CHANNEL(relay);
WORD DOSVM_psp = 0;
WORD DOSVM_retval = 0;
-#ifdef MZ_SUPPORTED
-
#ifdef HAVE_SYS_VM86_H
# include <sys/vm86.h>
#endif
@@ -220,6 +218,8 @@ void DOSVM_SendQueuedEvents( CONTEXT86 *
NtCurrentTeb()->vm86_pending = 0;
}
+#ifdef MZ_SUPPORTED
+
if (!ISV86(context) && context->SegCs == old_cs && context->Eip == old_ip)
{
/*
@@ -241,10 +241,17 @@ void DOSVM_SendQueuedEvents( CONTEXT86 *
NtCurrentTeb()->vm86_pending |= VIP_MASK;
}
+#else
+
+ FIXME("No DOS .exe file support on this platform (yet)\n");
+
+#endif /* MZ_SUPPORTED */
+
LeaveCriticalSection(&qcrit);
}
+#ifdef MZ_SUPPORTED
/***********************************************************************
* QueueEvent (WINEDOS.@)
*/
@@ -648,7 +655,7 @@ void WINAPI DOSVM_QueueEvent( INT irq, I
}
}
-#endif
+#endif /* MZ_SUPPORTED */
/**********************************************************************
More information about the wine-patches
mailing list