]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/dist, cmd/go: pass -arch for C compilation on Darwin
authorCherry Zhang <cherryyz@google.com>
Thu, 14 Jan 2021 17:29:16 +0000 (12:29 -0500)
committerCherry Zhang <cherryyz@google.com>
Thu, 14 Jan 2021 21:55:29 +0000 (21:55 +0000)
commiteb330020dc42930e99d9a8c8ea3cc0972cbd230f
treeeea9c771ab7efbece0131b9a6e2070cdff2b8e90
parent84e8a06f62e47bf3f126e6c7e5f39dd7ca82f421
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>
src/cmd/cgo/gcc.go
src/cmd/go/internal/work/exec.go
src/cmd/go/testdata/script/build_darwin_cc_arch.txt [new file with mode: 0644]
src/cmd/link/internal/ld/lib.go