Re: Softfloat on i386

David Brownlee <[email protected]>
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <CAGN_6paprSkTCQRQ42AArWYO5odxhKJG6JvHLpMeiXXu5XHzmg@mail.gmail.com>
On Thu, 15 Jan 2026 at 02:04, Taylor R Campbell <[email protected]> wrote:
>
> > Date: Tue, 13 Jan 2026 10:37:20 +0000
> > From: David Brownlee <[email protected]>
> >
> > It also affects a wide range of embedded 586 class CPUs, such as the
> > Geode LX, as used in the PC Engines ALIX series.
> >
> > While these are obsolete by modern standards, all 32 bit x86 CPUs are
> > obsolete by modern standards.
> >
> > As such, I'd like to call for defaulting pkgsrc/lang/go to softfloat
> > for NetBSD/i386. Having NetBSD provided go packages just coredump
> > without apparent reason on a supported platform is a particularly bad
> > look.
>
> I suggest you draft a PKG_OPTION for it first!  Then, once it is shown
> to work, we can discuss whether to flip it on by default (which is
> probably a reasonable choice if it works).

OK, so my test case for go breaking on non SSE2 capable x86 machines
is the NetBSD/i386 wireguard-go binary, which is happy on a cpu with
SSE2 but immediately chokes on a 586 embedded machine (waves at a
PCEngines ALIX).

Adding "GOOPT+= GO386=softfloat" and building a fresh go bootstrap
(go14 -> go118 -> go120 -> go122 -> go125) in the build for
wireguard-go

That is, the following packages should have it (technically 123 and
124 are not used in a default build, but it should apply in case
anyone tries to build them for a specific reason)
- go120
- go122
- go123
- go124
- go125

And specifically *not* for the the following, which are used in the
bootstrap build but do not support GO386=softfloat and error out on
build if provided
- go14
- go118

So... is this an options.mk for every go version >= 120, or something
in go/version.mk (which seems better, but would be a little fussy as
it is included before any go package sets its version, though PKGPATH
could be checked?)

Thanks

David
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.