Open
Description
The auto-generation of the syscall/z*.go
files is a mess.
Their generation depends on the headers installed on the host system, so nobody can reliably generate them without making a bunch of accidental unrelated changes.
This applies equally to pkg syscall
and to golang.org/x/sys/unix
.
Let's use a Dockerfile in there and then run mkwhatever.{sh,pl,go} file in Docker, and then docker cp
the auto-generated files out of the container back to the host.
Recent chaos:
- https://go-review.googlesource.com/#/c/21971/
- https://go-review.googlesource.com/#/c/21582/
- etc (basically any change)
It's less clear what to do about other Unix, like OpenBSD (https://go-review.googlesource.com/#/c/21797/, etc). @mdempsky? Jails? But openbsd is tricky for other reasons: #15227
Windows seems to be fine.
/cc @ianlancetaylor