From: Ian Lance Taylor Date: Mon, 3 Jul 2023 12:05:55 +0000 (-0700) Subject: net: only build cgo_stub.go on unix or wasip1 X-Git-Tag: go1.21rc3~2^2~24 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=449ef3795d8054faf4a601d8d1aab1f624b822f5;p=gostls13.git net: only build cgo_stub.go on unix or wasip1 We were building it for Windows, although Windows code never calls any of these functions. When using -tags netgo that cause a multiple definition of cgoAvailable. Fixes #61153 Change-Id: Ib9e1de7720a8c0dacd6f12002917bf305dfa5405 Reviewed-on: https://go-review.googlesource.com/c/go/+/507655 Reviewed-by: Damien Neil Auto-Submit: Ian Lance Taylor TryBot-Result: Gopher Robot Run-TryBot: Ian Lance Taylor Reviewed-by: Dmitri Shuralyov Reviewed-by: Bryan Mills Reviewed-by: Dmitri Shuralyov --- diff --git a/src/net/cgo_stub.go b/src/net/cgo_stub.go index a8514c19f8..b26b11af8b 100644 --- a/src/net/cgo_stub.go +++ b/src/net/cgo_stub.go @@ -3,13 +3,13 @@ // license that can be found in the LICENSE file. // This file holds stub versions of the cgo functions called on Unix systems. -// We build this file if using the netgo build tag, or if cgo is not -// enabled and we are using a Unix system other than Darwin, or if it's -// wasip1 where cgo is never available. -// Darwin is exempted because it always provides the cgo routines, -// in cgo_unix_syscall.go. +// We build this file: +// - if using the netgo build tag on a Unix system +// - on a Unix system without the cgo resolver functions +// (Darwin always provides the cgo functions, in cgo_unix_syscall.go) +// - on wasip1, where cgo is never available -//go:build netgo || (!cgo && unix && !darwin) || wasip1 +//go:build (netgo && unix) || (unix && !cgo && !darwin) || wasip1 package net