There is a serious bug in the free (not checked) build of windows XP 64 bits.
The API
GetThreadContext
will deliver a context where all the floating point data will be zero!
I checked that I was including the CONTEXT_FLOATING_POINT flag when I ask for the context, and it is correctly set.
This bug can be seen in the WinDbg debugger for this system.
That debugger will never show any of the floating point registers
(st0-st7) in its register window.
This bug is serious since when the debugger wants to continue, it will set
the floating point state from the received state from windows.
Since the received state is all zeroes in the floating point part, this
means that the debugger will destroy all the floating point context
when it releases the program under debug.
Anybody knows about this bug and can confirm/infirm this?
Anybody knows about a work-around?
I am writing a compiler system for this CPU and I discovered this when
porting my debugger.
jacob navia
lcc-win32: a free compiler for windows
http://www.cs.virginia.edu:/~lcc-win32' ">http://www.cs.virginia.edu:/~lcc-win32
email: jacob@jacob.remcomp.fr