Bug in SYSDEPS_CallOnStack()?

Juraj Hercek juraj at syncad.com
Tue Oct 29 04:12:18 CST 2002


When I was trying to get wine working on sparc solaris, I experienced 
troubles with exception handling. I always got error (after Ctrl + C):

err:seh:EXC_DefaultHandling Exception frame is not in stack limits => 
unable to dispatch exception.

After deeper insight into wine's guts I've figured out that problem lies 
in SYSDEPS_CallOnStack function (scheduler/sysdeps.c:236), which doesn't 
switch thread stack on sparcs -> I'll try to implement this soon.

I also looked at implementation of this function for __i386__ (since it 
was just a couple of lines above... :o) ) and I think there is a mistake 
in implementation for _MSC_VER compiler.

  __asm mov edx, 8[esp];
  __asm mov fs:[0x04], esp; <---
  __asm push edx;

I think it should look like this:
  __asm mov edx, 8[esp];
  __asm mov esp, fs:[0x04]; <---
  __asm push edx;

Just some questions:
Is anyone compiling wine with microsoft compiler? If so, what are the 

Next, current snapshot from cvs doesn't compile on solaris, is anyone 
compiling wine on solaris?


More information about the wine-devel mailing list