-
Michael Munday authored
This commit adds linux/s390x support to the unix package. It is based on the changes made to the syscall package in https://golang.org/cl/20961/. It also adds mkpost.go which is used to cleanup the API generated by cgo -godefs. The biggest departure that is made with the syscall package is the use of the -fsigned-char flag to force signed chars. We couldn't do this in the syscall package because of the need to maintain compatibility with the gccgo implementation of the syscall package (gccgo has supported s390x for a longer time than the Go toolchain). The unix package does not have this constraint. Using the -fsigned-char flag makes the API look more like the one generated on amd64 and arm64 and also more consistent with itself (the syscall package represents chars using both int8 and uint8 types, the sys package will only ever use int8). Unfortunately it also means that applications transitioning from the syscall package to the unix package will see a different API on s390x which might be confusing. I think the tradeoff is worth it though. Change-Id: I40b90c18ed787e74ba7a2ebd004bd6bd1ba6279a Reviewed-on: https://go-review.googlesource.com/23045Reviewed-by: Ian Lance Taylor <iant@golang.org>
33267e03