-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.arch-386Issues solely affecting the 32-bit x86 architectureIssues solely affecting the 32-bit x86 architecturearch-ppc64x
Milestone
Description
Go version
go version go1.21.9 linux/386
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='ppc64le'
GOBIN=''
GOCACHE='/tmp/.cache/go-build'
GOENV='/tmp/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='386'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/tmp/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/tmp/go'
GOPRIVATE=''
GOPROXY=''
GOROOT='/cross/lib/go'
GOSUMDB=''
GOTMPDIR=''
GOTOOLCHAIN=''
GOTOOLDIR='/cross/lib/go/pkg/tool/linux_386'
GOVCS=''
GOVERSION='go1.21.9'
GCCGO='gccgo'
GOPPC64='power8'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='0'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -fmessage-length=0 -ffile-prefix-map=/tmp/go-build4273291414=/tmp/go-build -gno-record-gcc-switches'What did you do?
Cross-build go-1.22 for ppc64le from 386.
- Prepare a go environment of 386 isa
- Checkout a source directory of go1.22.2
- Run
cd src
bash make.bash
with environments
GOARCH: ppc64le
GOOS: linux
GOHOSTARCH: 386
CGO_ENABLED: 0
The was run in a test of freedesktop-sdk-binary-seed, full log is available https://gitlab.com/freedesktop-sdk/freedesktop-sdk-binary-seed/-/jobs/6679102887
I also tested some other combinations:
- go-1.21 386 bootstraps go-1.21 ppc64le: good
- go-1.21 386 bootstraps go-1.22 amd64, arm64, 386: good
- go-1.22 386 bootstraps go-1.22 ppc64le: bad
What did you see happen?
The build failed with errror log:
+ sh -c -e 'cd src
bash make.bash
'
Building Go cmd/dist using /cross/lib/go. (go1.21.9 linux/386)
Building Go toolchain1 using /cross/lib/go.
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 commands for host, linux/386.
Building packages and commands for target, linux/ppc64le.
# time
00072 (/buildstream-build/src/time/time.go:1242) MOVD $-51844517355891, R5
00072 (/buildstream-build/src/time/time.go:1242) MOVD $-51844517355891, R5
00072 (/buildstream-build/src/time/time.go:1242) MOVD $-51844517355891, R5
00152 (<autogenerated>:1) MOVD $-51844517355891, R5
00152 (<autogenerated>:1) MOVD $-51844517355891, R5
00152 (<autogenerated>:1) MOVD $-51844517355891, R5
<autogenerated>:1: illegal combination MOVD 64CON NONE NONE NONE NONE REG
# crypto/des
00080 (/buildstream-build/src/crypto/des/block.go:187) MOVD $16557098929935, R5
00080 (/buildstream-build/src/crypto/des/block.go:187) MOVD $16557098929935, R5
00080 (/buildstream-build/src/crypto/des/block.go:187) MOVD $16557098929935, R5
00088 (/buildstream-build/src/crypto/des/block.go:131) MOVD $16557098929935, R5
00088 (/buildstream-build/src/crypto/des/block.go:131) MOVD $16557098929935, R5
00088 (/buildstream-build/src/crypto/des/block.go:131) MOVD $16557098929935, R5
<autogenerated>:1: illegal combination MOVD 64CON NONE NONE NONE NONE REG
go tool dist: FAILED: /buildstream-build/pkg/tool/linux_386/go_bootstrap install std: exit status 1
Command 'cd src
bash make.bash' failed with exitcode 2
What did you expect to see?
The build succeeds since Go 1.22 was announced boostrappable from Go 1.20+.
Metadata
Metadata
Assignees
Labels
FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.The path to resolution is known, but the work has not been done.arch-386Issues solely affecting the 32-bit x86 architectureIssues solely affecting the 32-bit x86 architecturearch-ppc64x