[PATCH 1/2] ntdll: Fix arm64 regression from "Clear the syscall frame on return"

Martin Storsjo martin at martin.st
Fri Sep 4 06:28:50 CDT 2020


The restoring of registers in call_user_exception_dispatcher
was broken in 75e616d52b452d37cc93f492d47eba641f9741c1.

Signed-off-by: Martin Storsjo <martin at martin.st>
---
 dlls/ntdll/unix/signal_arm64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/ntdll/unix/signal_arm64.c b/dlls/ntdll/unix/signal_arm64.c
index cfe1c75b59..ec361216d0 100644
--- a/dlls/ntdll/unix/signal_arm64.c
+++ b/dlls/ntdll/unix/signal_arm64.c
@@ -700,7 +700,7 @@ __ASM_GLOBAL_FUNC( call_user_exception_dispatcher,
                    "mov x0, x19\n\t"
                    "mov x1, x20\n\t"
                    "mov x2, x21\n\t"
-                   "ldp x19, x20, [x5, #64]\n\t"   /* frame->x19,x20 */
+                   "ldp x19, x20, [x5, #80]\n\t"   /* frame->x19,x20 */
                    "ldp x21, x22, [x5, #96]\n\t"   /* frame->x21,x22 */
                    "ldp x23, x24, [x5, #112]\n\t"  /* frame->x23,x24 */
                    "ldp x25, x26, [x5, #128]\n\t"  /* frame->x25,x26 */
-- 
2.17.1




More information about the wine-devel mailing list