mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/dist, cmd/go: pass -arch for C compilation on Darwin
On Apple Silicon Mac, the C compiler has an annoying default target selection, depending on the ancestor processes' architecture. In particular, if the shell or IDE is x86, when running "go build" even with a native ARM64 Go toolchain, the C compiler defaults to x86, causing build failures. We pass "-arch" flag explicitly to avoid this situation. Fixes #43692. Fixes #43476. Updates golang/vscode-go#1087. Change-Id: I80b6a116a114e11e273c6886e377a1cc969fa3f6 Reviewed-on: https://go-review.googlesource.com/c/go/+/283812 Trust: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
This commit is contained in:
parent
84e8a06f62
commit
eb330020dc
4 changed files with 48 additions and 3 deletions
|
|
@ -1549,7 +1549,14 @@ func (p *Package) gccBaseCmd() []string {
|
|||
func (p *Package) gccMachine() []string {
|
||||
switch goarch {
|
||||
case "amd64":
|
||||
if goos == "darwin" {
|
||||
return []string{"-arch", "x86_64", "-m64"}
|
||||
}
|
||||
return []string{"-m64"}
|
||||
case "arm64":
|
||||
if goos == "darwin" {
|
||||
return []string{"-arch", "arm64"}
|
||||
}
|
||||
case "386":
|
||||
return []string{"-m32"}
|
||||
case "arm":
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue