mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: use asmcgocall_no_g when calling sigprocmask on openbsd
sigprocmask is called from sigsave, which is called from needm. As such, sigprocmask has to be able to run with no g. For some reason we do not currently trip this on current libc platforms, but we do hit it on openbsd/mips64 with external linking. Updates #36435 Change-Id: I4dfae924245c5f68cc012755d6485939014898a3 Reviewed-on: https://go-review.googlesource.com/c/go/+/334879 Trust: Joel Sing <joel@sing.id.au> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
bd6845965c
commit
6416bde023
1 changed files with 3 additions and 1 deletions
|
|
@ -199,7 +199,9 @@ func sigaction_trampoline()
|
|||
//go:nosplit
|
||||
//go:cgo_unsafe_args
|
||||
func sigprocmask(how uint32, new *sigset, old *sigset) {
|
||||
libcCall(unsafe.Pointer(abi.FuncPCABI0(sigprocmask_trampoline)), unsafe.Pointer(&how))
|
||||
// sigprocmask is called from sigsave, which is called from needm.
|
||||
// As such, we have to be able to run with no g here.
|
||||
asmcgocall_no_g(unsafe.Pointer(abi.FuncPCABI0(sigprocmask_trampoline)), unsafe.Pointer(&how))
|
||||
}
|
||||
func sigprocmask_trampoline()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue