Martin Storsjo : ntdll: Fix arm64 jump buffer float restoration.
Module: wine Branch: master Commit: 99a6ae5b863b220e72f01abc9ce3ab1c7be9d7f7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=99a6ae5b863b220e72f01abc9... Author: Martin Storsjo <martin(a)martin.st> Date: Tue Aug 25 19:53:58 2020 +0300 ntdll: Fix arm64 jump buffer float restoration. Fix a typo in copying fields from the jump buffer to the context, use the right type of long in the struct. Signed-off-by: Martin Storsjo <martin(a)martin.st> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/signal_arm64.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c index 719c71f952..d0f8c875b8 100644 --- a/dlls/ntdll/signal_arm64.c +++ b/dlls/ntdll/signal_arm64.c @@ -57,8 +57,8 @@ struct MSVCRT_JUMP_BUFFER unsigned __int64 Fp; unsigned __int64 Lr; unsigned __int64 Sp; - unsigned long Fpcr; - unsigned long Fpsr; + ULONG Fpcr; + ULONG Fpsr; double D[8]; }; @@ -1002,7 +1002,7 @@ void CDECL RtlRestoreContext( CONTEXT *context, EXCEPTION_RECORD *rec ) context->Fpsr = jmp->Fpsr; for (i = 0; i < 8; i++) - context->V[8+i].D[0] = jmp->D[0]; + context->V[8+i].D[0] = jmp->D[i]; } else if (rec && rec->ExceptionCode == STATUS_UNWIND_CONSOLIDATE && rec->NumberParameters >= 1) {
participants (1)
-
Alexandre Julliard