ntdll: Also store FPU registers in RtlRaiseException().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44485 Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
62d80cff69
commit
dc80a00329
|
@ -2499,6 +2499,19 @@ NTSTATUS WINAPI NtRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL
|
|||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* raise_exception_full_context
|
||||
*
|
||||
* Raise an exception with the full CPU context.
|
||||
*/
|
||||
void raise_exception_full_context( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_chance )
|
||||
{
|
||||
save_fpu( context );
|
||||
/* FIXME: extended registers, debug registers */
|
||||
RtlRaiseStatus( NtRaiseException( rec, context, first_chance ));
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* RtlRaiseException (NTDLL.@)
|
||||
*/
|
||||
|
@ -2520,9 +2533,7 @@ __ASM_STDCALL_FUNC( RtlRaiseException, 4,
|
|||
"pushl $1\n\t"
|
||||
"pushl %eax\n\t"
|
||||
"pushl %ecx\n\t"
|
||||
"call " __ASM_NAME("NtRaiseException") __ASM_STDCALL(12) "\n\t"
|
||||
"pushl %eax\n\t"
|
||||
"call " __ASM_NAME("RtlRaiseStatus") __ASM_STDCALL(4) "\n\t"
|
||||
"call " __ASM_NAME("raise_exception_full_context") "\n\t"
|
||||
"leave\n\t"
|
||||
__ASM_CFI(".cfi_def_cfa %esp,4\n\t")
|
||||
__ASM_CFI(".cfi_same_value %ebp\n\t")
|
||||
|
|
Loading…
Reference in New Issue