Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
cmd/link: default to external linking with cgo std packages
Previously, when a program depends on cgo packages in the standard library (e.g. net, os/user) but not otherwise use cgo, we default to internal linking mode. As we shipped pre-built cgo-using packages in Go distributions, we don't require a C compiler to build those packages. Then, by using internal linking we can link programs using those packages without requiring a C toolchain. As of Go 1.20, we stopped shipping those pre-built packages. If a user doesn't have a C toolchain, they will use the non-cgo version of the package. If they have a C toolchain, they can get cgo-using packages but they can link with the external linker as well. So there is no strong need to be able to link the cgo version of the packages without a C toolchain. This CL makes it default to external linking mode. Fixes #58619. Fixes #58620. Change-Id: I62d3744c2b82ce734813c0e303e417d85dd29868 Reviewed-on: https://go-review.googlesource.com/c/go/+/470298 Run-TryBot: Cherry Mui <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Than McIntosh <[email protected]>
- Loading branch information