Alexandre Julliard : ntdll: Set the proper context flags in the signal handlers for x86_64.

Alexandre Julliard julliard at winehq.org
Thu Apr 9 11:13:49 CDT 2009


Module: wine
Branch: master
Commit: 0865c278f27da7d0a45128caeeed99d090a80ff1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0865c278f27da7d0a45128caeeed99d090a80ff1

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Apr  8 20:40:29 2009 +0200

ntdll: Set the proper context flags in the signal handlers for x86_64.

---

 dlls/ntdll/signal_x86_64.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 7a0defa..dfb1b51 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -189,6 +189,7 @@ static inline int dispatch_signal(unsigned int sig)
  */
 static void save_context( CONTEXT *context, const SIGCONTEXT *sigcontext )
 {
+    context->ContextFlags = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS;
     context->Rax    = RAX_sig(sigcontext);
     context->Rcx    = RCX_sig(sigcontext);
     context->Rdx    = RDX_sig(sigcontext);
@@ -214,7 +215,11 @@ static void save_context( CONTEXT *context, const SIGCONTEXT *sigcontext )
     context->SegEs  = 0;  /* FIXME */
     context->SegSs  = 0;  /* FIXME */
     context->MxCsr  = 0;  /* FIXME */
-    if (FPU_sig(sigcontext)) context->u.FltSave = *FPU_sig(sigcontext);
+    if (FPU_sig(sigcontext))
+    {
+        context->ContextFlags |= CONTEXT_FLOATING_POINT;
+        context->u.FltSave = *FPU_sig(sigcontext);
+    }
 }
 
 




More information about the wine-cvs mailing list