I am trying to cross compile golang to arm64 on a amd64 machine running 9front. I am using the amd64 1.16.3 bootstrap package from 9legacy.org.

toolchain1, 2, and 3 builds cleanly, as could be expected. However, it all falls apart in the end, stating that the combination plan9/arm64 is not supported.

This is what it looks like (I am following the steps from https://9lab.org/plan9/go/).

cpu% GOARCH=arm64 make.rc
Building Go cmd/dist using /tmp/go-plan9-amd64-bootstrap
Building Go toolchain1 using /tmp/go-plan9-amd64-bootstrap.
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, plan9/amd64.
Building packages and commands for target, plan9/arm64.
cmd/go: unsupported GOOS/GOARCH pair plan9/arm64
go tool dist: FAILED: /sys/lib/go/arm64-1.17.6/pkg/tool/plan9_amd64/go_bootstrap install -gcflags=all= -ldflags=all= std cmd: exit status: 'go_bootstrap 24113: 2'

I will try to dig into the failure a bit more on my own, but any additional input, suggestions, or knowledge would be greatly appreciated.


Cheers,

/mjl