From ea75b9458fed588e84abeacfc9319abb2a51ce0c Mon Sep 17 00:00:00 2001 From: qmuntal Date: Wed, 8 Feb 2023 16:47:16 +0100 Subject: [PATCH] runtime: use explicit NOFRAME on plan9/amd64 This CL marks some plan9 assembly functions as NOFRAME to avoid relying on the implicit amd64 NOFRAME heuristic, where NOSPLIT functions without stack were also marked as NOFRAME. Updates #58378 Change-Id: Ic8c9ab5c1a0897bebc6c1419ddc903a7492a1b0a Reviewed-on: https://go-review.googlesource.com/c/go/+/466457 TryBot-Bypass: Quim Muntal Reviewed-by: Keith Randall Reviewed-by: Cherry Mui --- src/cmd/internal/obj/x86/obj6.go | 2 +- src/runtime/sys_plan9_amd64.s | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/internal/obj/x86/obj6.go b/src/cmd/internal/obj/x86/obj6.go index 21126adfda..395a0a7919 100644 --- a/src/cmd/internal/obj/x86/obj6.go +++ b/src/cmd/internal/obj/x86/obj6.go @@ -617,7 +617,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) { var usefpheuristic bool switch ctxt.Headtype { case objabi.Hwindows, objabi.Hdarwin, objabi.Hlinux, objabi.Hdragonfly, - objabi.Hfreebsd, objabi.Hnetbsd, objabi.Hopenbsd, objabi.Hsolaris: + objabi.Hfreebsd, objabi.Hnetbsd, objabi.Hopenbsd, objabi.Hsolaris, objabi.Hplan9: default: usefpheuristic = true } diff --git a/src/runtime/sys_plan9_amd64.s b/src/runtime/sys_plan9_amd64.s index 638300dfb9..a53f9201f4 100644 --- a/src/runtime/sys_plan9_amd64.s +++ b/src/runtime/sys_plan9_amd64.s @@ -166,7 +166,7 @@ TEXT runtime·settls(SB),NOSPLIT,$0 RET // void sigtramp(void *ureg, int8 *note) -TEXT runtime·sigtramp(SB),NOSPLIT,$0 +TEXT runtime·sigtramp(SB),NOSPLIT|NOFRAME,$0 get_tls(AX) // check that g exists -- 2.48.1