• Michael Munday's avatar
    unix: add s390x support · 33267e03
    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: 's avatarIan Lance Taylor <iant@golang.org>
    33267e03
asm_linux_s390x.s 603 Bytes