Module: wine Branch: master Commit: 1b3fa021909fcb13d1517a8df0b84b6a225e6b98 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1b3fa021909fcb13d1517a8df...
Author: Alexandre Julliard julliard@winehq.org Date: Sat Nov 2 14:34:17 2019 +0100
ntdll: Initialize MxCsr for new threads on x86.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntdll/signal_i386.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index fd761246c5..e9dd0de2fc 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -2716,6 +2716,7 @@ static void init_thread_context( CONTEXT *context, LPTHREAD_START_ROUTINE entry, context->Eip = (DWORD)relay; context->FloatSave.ControlWord = 0x27f; ((XMM_SAVE_AREA32 *)context->ExtendedRegisters)->ControlWord = 0x27f; + ((XMM_SAVE_AREA32 *)context->ExtendedRegisters)->MxCsr = 0x1f80; }
@@ -2741,7 +2742,7 @@ PCONTEXT DECLSPEC_HIDDEN attach_thread( LPTHREAD_START_ROUTINE entry, void *arg, ctx = (CONTEXT *)((char *)NtCurrentTeb()->Tib.StackBase - 16) - 1; init_thread_context( ctx, entry, arg, relay ); } - ctx->ContextFlags = CONTEXT_FULL; + ctx->ContextFlags = CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_EXTENDED_REGISTERS; LdrInitializeThunk( ctx, (void **)&ctx->Eax, 0, 0 ); return ctx; }