Dne 03/27/06 v 08:03:58 (-0700), Vitaliy Margolen napsal(a):
Monday, March 27, 2006, 12:51:03 AM, Petr Tesarik wrote:
Hi,
this patch fixes a bug in get_thread_context(). Currently, this routine assumes that all registers except debug registers are saved in thread->>context if it exists. However, it does not include FPU registers.
IMO, we should not blindly assume which registers are present in thread->>context but look at ContextFlags.
BTW I found this bug when winedbg stopped working with programs using the FPU.
ChangeLog:
* Look at ContextFlags to see which registers are saved in thread->context.
Sorry this is not correct. Exception handler should get full context including FPU context. If we not saving it that's the problem on the other end.
I don't think so. A real 80386 without a math coprocessor does not even have an FPU context. I guess this is why CONTEXT_FULL does not include CONTEXT_FLOATING_POINT. Petr Tesarik