mirror of
https://github.com/golang/go
synced 2024-11-17 05:44:52 -07: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
@ -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…
Reference in New Issue
Block a user