unix: fix definition of Statvfs_t for netbsd-arm.

This will fix the test failure on the netbsd-arm builder, but it is not
quite a real fix.

struct statvfs changed between NetBSD 9 and NetBSD 10, with notably the
"spare" member switching from [4]uint32 to [4]uint64. In addition, there
is a new member at the end with label information, if available. The
netbsd-arm builder runs on NetBSD 10, so it runs into an issue
casting the binary data into a Statvfs_t with the wrong padding.

I don't know why the issue does not happen on arm64.

It does not happen on 386 and amd64 because these builders are running
NetBSD 9 still.

The real fix would be to use the statvfs90 compat syscall on NetBSD 10
and up, but not on 9 and below.

Fixes golang/go#76097.

Change-Id: I57ce6651d0ba05027a9fb29ee84c72a5225bcd67
Reviewed-on: https://go-review.googlesource.com/c/sys/+/717100
Run-TryBot: Benny Siegert <bsiegert@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
1 file changed
tree: ca583092401d6f9876710d2b57159a0c8d597eb8
  1. cpu/
  2. execabs/
  3. plan9/
  4. unix/
  5. windows/
  6. .gitattributes
  7. .gitignore
  8. codereview.cfg
  9. CONTRIBUTING.md
  10. go.mod
  11. LICENSE
  12. PATENTS
  13. README.md
README.md

sys

Go Reference

This repository holds supplemental Go packages for low-level interactions with the operating system.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The git repository is https://go.googlesource.com/sys.

The main issue tracker for the sys repository is located at https://go.dev/issues. Prefix your issue with “x/sys:” in the subject line, so it is easy to find.