calls to int 3d corrupt the stack

Jukka Heinonen jhei at iki.fi
Mon Aug 18 13:25:05 CDT 2003


FPU handling got broken over half a year ago when
I removed separate interrupt DLL and added support
for DPMI32. Interrupt DLL made sure that builtin
protected mode interrupt handlers saw regular IRET
return record on stack. Current protected mode
interrupt code does not provide an IRET record and
real mode interrupt code never did provide it.

I'm currently working on a two part fix for FPU code:

1. Make sure that DOSRELAY called via
   RELAY_BuildCallFrame sees original stack and 
   code pointers and can modify them.

2. Make FPU emulation use CS/IP instead of IRET record.

Both of these patches are about 10 lines of code so
I guess I shall have it fixed within a week,
assuming testing patches don't take up too much time.

-- 
Jukka Heinonen <http://www.iki.fi/jhei/>



More information about the wine-devel mailing list