Module: wine Branch: master Commit: 633db76f781cc804c63e9ca68ff6a8327af84d11 URL: https://source.winehq.org/git/wine.git/?a=commit;h=633db76f781cc804c63e9ca68... Author: Paul Gofman <pgofman(a)codeweavers.com> Date: Wed Mar 3 14:55:00 2021 +0300 ntdll: Reset YMM state in NtSetContextThread() if that is assumed by the context being set. Fixes test failure on testbot where compaction is not supported (resetting YMM state if that is implied by the context being set). Signed-off-by: Paul Gofman <pgofman(a)codeweavers.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/unix/signal_i386.c | 2 +- dlls/ntdll/unix/signal_x86_64.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/unix/signal_i386.c b/dlls/ntdll/unix/signal_i386.c index 0153f772b6d..9e97fd9e298 100644 --- a/dlls/ntdll/unix/signal_i386.c +++ b/dlls/ntdll/unix/signal_i386.c @@ -1254,7 +1254,7 @@ NTSTATUS WINAPI NtSetContextThread( HANDLE handle, const CONTEXT *context ) xsave->xstate.mask |= XSTATE_MASK_GSSE; memcpy( &xsave->xstate.ymm_high, &xs->YmmContext, sizeof(xsave->xstate.ymm_high) ); } - else if (xs->CompactionMask & XSTATE_MASK_GSSE) + else xsave->xstate.mask &= ~XSTATE_MASK_GSSE; } diff --git a/dlls/ntdll/unix/signal_x86_64.c b/dlls/ntdll/unix/signal_x86_64.c index e62e958b4aa..2a030372fb7 100644 --- a/dlls/ntdll/unix/signal_x86_64.c +++ b/dlls/ntdll/unix/signal_x86_64.c @@ -1864,7 +1864,7 @@ NTSTATUS WINAPI NtSetContextThread( HANDLE handle, const CONTEXT *context ) xsave->xstate.Mask |= XSTATE_MASK_GSSE; memcpy( &xsave->xstate.YmmContext, &xs->YmmContext, sizeof(xs->YmmContext) ); } - else if (xs->CompactionMask & XSTATE_MASK_GSSE) + else xsave->xstate.Mask &= ~XSTATE_MASK_GSSE; } return STATUS_SUCCESS;