[PATCH] ntdll: Fix arm64 jump buffer float restoration
Martin Storsjo
martin at martin.st
Tue Aug 25 11:53:58 CDT 2020
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 at martin.st>
---
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 4cdc6340fa..53f866acab 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];
};
@@ -1039,7 +1039,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)
{
--
2.17.1
More information about the wine-devel
mailing list