diff options
author | Cherry Mui <cherryyz@google.com> | 2021-05-13 18:19:42 -0400 |
---|---|---|
committer | Cherry Mui <cherryyz@google.com> | 2021-05-14 19:27:25 +0000 |
commit | 02699f810a05215060ba2181f394d551819ad7d4 (patch) | |
tree | 7576848802446e0a7cf23c2cfa83990c66a14e65 | |
parent | 3d324f127dbb916f38d7476e9c4ff106e5d54f99 (diff) | |
download | go-02699f810a05215060ba2181f394d551819ad7d4.tar.gz go-02699f810a05215060ba2181f394d551819ad7d4.zip |
runtime: mark osyield nosplit on OpenBSD
osyield is called in code paths that are not allowed to split
stack, e.g. casgstatus called from entersyscall/exitsyscall.
It is nosplit on all other platforms. Mark it nosplit on OpenBSD
as well.
Change-Id: I3fed5d7f58b3d50610beca6eed2c7e902b8ec52c
Reviewed-on: https://go-review.googlesource.com/c/go/+/319969
Trust: Cherry Mui <cherryyz@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
-rw-r--r-- | src/runtime/sys_openbsd1.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/runtime/sys_openbsd1.go b/src/runtime/sys_openbsd1.go index 6f9ad356d44..cb5d35879cd 100644 --- a/src/runtime/sys_openbsd1.go +++ b/src/runtime/sys_openbsd1.go @@ -23,6 +23,7 @@ func thrwakeup(ident uintptr, n int32) int32 { } func thrwakeup_trampoline() +//go:nosplit func osyield() { libcCall(unsafe.Pointer(funcPC(sched_yield_trampoline)), unsafe.Pointer(nil)) } |