From 083d94f69c35b2244ea43738c1d28aa5d9e6d567 Mon Sep 17 00:00:00 2001 From: qmuntal Date: Fri, 23 Dec 2022 13:22:00 +0100 Subject: runtime: use explicit NOFRAME on windows/amd64 This CL marks non-leaf nosplit assembly functions as NOFRAME to avoid relying on the implicit amd64 NOFRAME heuristic, where NOSPLIT functions without stack were also marked as NOFRAME. Updates #57302 Updates #40044 Change-Id: Ia4d26f8420dcf2b54528969ffbf40a73f1315d61 Reviewed-on: https://go-review.googlesource.com/c/go/+/459395 Reviewed-by: Cherry Mui Run-TryBot: Quim Muntal TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky --- src/runtime/cgo/asm_amd64.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/runtime/cgo') diff --git a/src/runtime/cgo/asm_amd64.s b/src/runtime/cgo/asm_amd64.s index 386299c548..e223a6c870 100644 --- a/src/runtime/cgo/asm_amd64.s +++ b/src/runtime/cgo/asm_amd64.s @@ -10,7 +10,7 @@ // Saves C callee-saved registers and calls cgocallback with three arguments. // fn is the PC of a func(a unsafe.Pointer) function. // This signature is known to SWIG, so we can't change it. -TEXT crosscall2(SB),NOSPLIT,$0-0 +TEXT crosscall2(SB),NOSPLIT|NOFRAME,$0-0 PUSH_REGS_HOST_TO_ABI0() // Make room for arguments to cgocallback. -- cgit v1.3