Module: wine Branch: master Commit: 0865c278f27da7d0a45128caeeed99d090a80ff1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0865c278f27da7d0a45128caee...
Author: Alexandre Julliard julliard@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); + } }