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