tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Moving Go to a newer NetBSD ABI in the 1.13 dev cycle



Hi and apologies for the cross-post,

Go binaries have always been somewhat special citizens on NetBSD (not
unlike on other OSes, I might add). Currently, IIUC, they all pretend
to be built for NetBSD 5.99.51, since that's what I was using when we
were getting the support going, so this was the oldest version known
to work.

However, Go 1.9 is really the last version that was working on NetBSD
6, 1.10 and newer effectively need NetBSD 7 or later. This is because
of some kernel bugfixes. NetBSD 7 is the oldest supported version at
this point, though support is rapidly waning as (a) NetBSD 9 is coming
nearer (which will mean end of support for -7) and (b) NetBSD 7 has no
Spectre/Meltdown mitigations.

Being soi-disant compatible with 5.99.51 has a cost, namely the need
for COMPAT_60 to be enabled in the kernel.

To keep up with supported versions, I would like to move Go to use
syscall number tables for NetBSD 7 (or perhaps even 8?) and move the
ELF identification to version 7.0 or 8.0. Trying to get this done in
time for Go 1.13.

Any comments, objections, etc. from Go or NetBSD folks?

-- 
Benny


Home | Main Index | Thread Index | Old Index