aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/sys_windows_arm.s
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2021-02-22 12:56:33 -0500
committerRuss Cox <rsc@golang.org>2021-02-23 09:14:42 +0000
commitc4b771348c3e5c5372bd00254f2e796b627c13dc (patch)
tree34c01be7b319a63c21d955099aae05582f2d8f3e /src/runtime/sys_windows_arm.s
parent2a18e37c4e78e26c9f1e613dfa97aaf275ea0b4d (diff)
downloadgo-c4b771348c3e5c5372bd00254f2e796b627c13dc.tar.gz
go-c4b771348c3e5c5372bd00254f2e796b627c13dc.zip
runtime: fix windows/arm signal handling assembly
Bug introduced in CL 288799: R12 is used but not set. Fixes windows/arm builder. Change-Id: I015a5a83cfa3bdd23da1ffb73713623764f2f817 Reviewed-on: https://go-review.googlesource.com/c/go/+/295109 Trust: Russ Cox <rsc@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
Diffstat (limited to 'src/runtime/sys_windows_arm.s')
-rw-r--r--src/runtime/sys_windows_arm.s5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/sys_windows_arm.s b/src/runtime/sys_windows_arm.s
index cd230ccffd..4be5ce7da0 100644
--- a/src/runtime/sys_windows_arm.s
+++ b/src/runtime/sys_windows_arm.s
@@ -160,6 +160,11 @@ g0:
BL (R7) // Call the go routine
MOVW 16(R13), R4 // Fetch return value from stack
+ // Save system stack pointer for sigresume setup below.
+ // The exact value does not matter - nothing is read or written
+ // from this address. It just needs to be on the system stack.
+ MOVW R13, R12
+
// switch back to original stack and g
MOVW 24(R13), R13
MOVW 20(R13), g