From: Russ Cox Date: Wed, 8 Feb 2023 19:02:55 +0000 (-0500) Subject: runtime: skip darwin osinit_hack on ios X-Git-Tag: go1.21rc1~1593 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f7b32f5281888ee02f384230c48e91af2120f8b8;p=gostls13.git runtime: skip darwin osinit_hack on ios Darwin needs the osinit_hack call to fix some bugs in the Apple libc that surface when Go programs call exec. On iOS, the functions that osinit_hack uses are not available, so signing fails. But on iOS exec is also unavailable, so the hack is not needed. Disable it there, which makes signing work again. Fixes #58323. Change-Id: I3f1472f852bb36c06854fe1f14aa27ad450c5945 Reviewed-on: https://go-review.googlesource.com/c/go/+/466516 Run-TryBot: Russ Cox Reviewed-by: Dave Anderson Reviewed-by: Michael Knyszek TryBot-Result: Gopher Robot Auto-Submit: Russ Cox Reviewed-by: Bryan Mills Reviewed-by: Than McIntosh --- diff --git a/src/runtime/sys_darwin.go b/src/runtime/sys_darwin.go index 8bff695f57..5ba697e304 100644 --- a/src/runtime/sys_darwin.go +++ b/src/runtime/sys_darwin.go @@ -213,7 +213,9 @@ func pthread_kill_trampoline() // //go:nosplit func osinit_hack() { - libcCall(unsafe.Pointer(abi.FuncPCABI0(osinit_hack_trampoline)), nil) + if GOOS == "darwin" { // not ios + libcCall(unsafe.Pointer(abi.FuncPCABI0(osinit_hack_trampoline)), nil) + } return } func osinit_hack_trampoline()