From 0865c278f27da7d0a45128caeeed99d090a80ff1 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 8 Apr 2009 20:40:29 +0200 Subject: [PATCH] ntdll: Set the proper context flags in the signal handlers for x86_64. --- dlls/ntdll/signal_x86_64.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index 7a0defa68d6..dfb1b516c49 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); + } }