Skip to content

cmd/dist: make.bash --no-clean fails when compilation target doesn't support regabi #47204

@rhysh

Description

@rhysh

What version of Go are you using (go version)?

$ go version
go version go1.17rc1 darwin/amd64
$ go version
go version go1.16.6 darwin/amd64
$ go version
go version devel go1.17-60ddf42b46 Wed Jul 14 17:25:06 2021 +0000 darwin/amd64

Does this issue reproduce with the latest release?

This problem is present in go1.17rc1 and tip. It is not present in go1.16.6.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/rhys/Library/Caches/go-build"
GOENV="/Users/rhys/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/rhys/go/pkg/mod"
GONOPROXY="*"
GONOSUMDB="*"
GOOS="darwin"
GOPATH="/Users/rhys/go"
GOPRIVATE="*"
GOPROXY="direct"
GOROOT="/usr/local/go"
GOSUMDB="off"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="devel go1.17-60ddf42b46 Wed Jul 14 17:25:06 2021 +0000"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/49/zmds5zsn75z1283vtzxyfr5hj7yjq4/T/go-build4254228305=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

$ cd ./src
$ ./make.bash
$ GOOS=linux GOARCH=386 ./make.bash --no-clean

What did you expect to see?

$ go version
go version go1.16.6 darwin/amd64

$ ./make.bash
Building Go cmd/dist using /Users/rhys/go/version/go1.4. (go1.4-bootstrap-20170531 darwin/amd64)
Building Go toolchain1 using /Users/rhys/go/version/go1.4.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for darwin/amd64.
---
Installed Go for darwin/amd64 in /usr/local/go
Installed commands in /usr/local/go/bin

$ GOOS=linux GOARCH=386 ./make.bash --no-clean
Building Go cmd/dist using /Users/rhys/go/version/go1.4. (go1.4-bootstrap-20170531 darwin/amd64)
Building Go toolchain1 using /Users/rhys/go/version/go1.4.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for host, darwin/amd64.
Building packages and commands for target, linux/386.
---
Installed Go for linux/386 in /usr/local/go
Installed commands in /usr/local/go/bin

What did you see instead?

$ go version
go version devel go1.17-60ddf42b46 Wed Jul 14 17:25:06 2021 +0000 darwin/amd64

$ ./make.bash
Building Go cmd/dist using /Users/rhys/go/version/go1.4. (go1.4-bootstrap-20170531 darwin/amd64)
Building Go toolchain1 using /Users/rhys/go/version/go1.4.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for darwin/amd64.
---
Installed Go for darwin/amd64 in /usr/local/go
Installed commands in /usr/local/go/bin

$ GOOS=linux GOARCH=386 ./make.bash --no-clean
Building Go cmd/dist using /Users/rhys/go/version/go1.4. (go1.4-bootstrap-20170531 darwin/amd64)
Building Go toolchain1 using /Users/rhys/go/version/go1.4.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
/usr/local/go/src/cmd/go/main.go:10:2: import /usr/local/go/pkg/darwin_amd64/context.a: object is [go object darwin amd64 devel go1.17-60ddf42b46 Wed Jul 14 17:25:06 2021 +0000 X:regabiwrappers,regabig,regabireflect,regabidefer,regabiargs
] expected [go object darwin amd64 devel go1.17-60ddf42b46 Wed Jul 14 17:25:06 2021 +0000 X:
]

go tool dist: FAILED: /usr/local/go/pkg/tool/darwin_amd64/compile -std -pack -o /var/folders/49/zmds5zsn75z1283vtzxyfr5hj7yjq4/T/go-tool-dist-791323986/cmd/go/_go_.a -p main -importcfg /var/folders/49/zmds5zsn75z1283vtzxyfr5hj7yjq4/T/go-tool-dist-791323986/cmd/go/importcfg /usr/local/go/src/cmd/go/alldocs.go /usr/local/go/src/cmd/go/go11.go /usr/local/go/src/cmd/go/main.go: exit status 2
Building Go toolchain2 using go_bootstrap and Go toolchain1.
go tool dist: FAILED: /usr/local/go/pkg/tool/darwin_amd64/go_bootstrap install -gcflags=all= -ldflags=all= -i cmd/asm cmd/cgo cmd/compile cmd/link: fork/exec /usr/local/go/pkg/tool/darwin_amd64/go_bootstrap: no such file or directory

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsDecisionFeedback is required from experts, contributors, and/or the community before a change can be made.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions