Module: wine Branch: master Commit: 99a6ae5b863b220e72f01abc9ce3ab1c7be9d7f7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=99a6ae5b863b220e72f01abc9...
Author: Martin Storsjo martin@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@martin.st Signed-off-by: Alexandre Julliard julliard@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) {