• Akshat Kumar's avatar
    syscall: Plan9, amd64: fix syscall error handling in assembly · b6e322dc
    Akshat Kumar authored
    Syscalls return `-1' on error and the representation is always
    32-bits. The `$-1' literal in 64-bit assembly is always the
    64-bit representation. So this change makes sure that we
    always do a 32-bit comparison when checking for error.
    Also makes sure that in the error case, we return a 64-bit
    `-1' from runtime.seek.
    
    Fixes the arithmetic for handling the error-string in
    runtime.Syscall6.
    
    R=golang-dev, rminnich, rsc, ality, minux.ma
    CC=golang-dev
    https://golang.org/cl/7399052
    b6e322dc
asm_plan9_amd64.s 2.89 KB