[PATCH] ntdll: Reset YMM state in NtSetContextThread() if that is assumed by the context being set.
Paul Gofman
pgofman at codeweavers.com
Wed Mar 3 05:55:00 CST 2021
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 at codeweavers.com>
---
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;
--
2.29.2
More information about the wine-devel
mailing list