Re: i386 baseline issue for Go packages in Bookworm
On Sun, Apr 18, 2021 at 1:09 AM Shengjing Zhu <firstname.lastname@example.org> wrote:
> As the release of Go 1.16, upstream no longer supports x87-only floating-point.
> > require at least SSE2 support on 386, raising Go's minimum GOARCH=386
> > requirement to the Intel Pentium 4 (released in 2000) or
> > AMD Opteron/Athlon 64 (released in 2003).
> So we have 3 options for Go packages on i386 in Bookwarm.
> 1. Raise the i386 baseline to SSE2.
> 2. Downgrade the Go packages to softfloat.
> 3. Build all Go packages with GCCGO on i386.
> As for the option 3, I don't how best is supported by upstream.
> But most packages may work, if some specific packages FTBFS after switching
> to GCCGO, they need to be removed on i386 unfortunately.
An update on this issue.
golang-1.16/1.16.3-4 has been uploaded to unstable.
It's built with GO386=softfloat on i386 arch only.
Which means any Go packages built with it on i386 will default to
softfloat. But people try to cross build Go packages for i386,
defaults to sse2.
The settings can be checked by running `GOARCH=386 go env GO386`. And
can be changed by setting GO386 env manually.