Blame SOURCES/0022-ARM64-Fix-xpcall-error-case.patch

006bc1
From 33082a6f4778aa152f6a4a684a7fe79436f1ecb6 Mon Sep 17 00:00:00 2001
006bc1
From: Mike Pall <mike>
006bc1
Date: Thu, 16 Nov 2017 12:53:34 +0100
006bc1
Subject: [PATCH 22/72] ARM64: Fix xpcall() error case.
006bc1
006bc1
Thanks to Stefan Pejic.
006bc1
---
006bc1
 src/vm_arm64.dasc | 2 +-
006bc1
 1 file changed, 1 insertion(+), 1 deletion(-)
006bc1
006bc1
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc
006bc1
index 3eaf376..241c58a 100644
006bc1
--- a/src/vm_arm64.dasc
006bc1
+++ b/src/vm_arm64.dasc
006bc1
@@ -1185,12 +1185,12 @@ static void build_subroutines(BuildCtx *ctx)
006bc1
   |   subs NARGS8:RC, NARGS8:RC, #16
006bc1
   |   blo ->fff_fallback
006bc1
   |    mov RB, BASE
006bc1
-  |    add BASE, BASE, #24
006bc1
   |     asr ITYPE, CARG2, #47
006bc1
   |  ubfx TMP0w, TMP0w, #HOOK_ACTIVE_SHIFT, #1
006bc1
   |     cmn ITYPE, #-LJ_TFUNC
006bc1
   |  add PC, TMP0, #24+FRAME_PCALL
006bc1
   |     bne ->fff_fallback		// Traceback must be a function.
006bc1
+  |    add BASE, BASE, #24
006bc1
   |     stp CARG2, CARG1, [RB]		// Swap function and traceback.
006bc1
   |   cbz NARGS8:RC, ->vm_call_dispatch
006bc1
   |  b <1
006bc1
-- 
006bc1
2.20.1
006bc1