syscall: Plan9, amd64: fix syscall error handling in assembly
syscall: Plan9, amd64: fix syscall error handling in assembly

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://codereview.appspot.com/7399052

Committer: Ron Minnich <f569d0af9a3481c4007b95c7180d6c41009f2513@gmail.com>

gnanderson/go,apparentlymart/golang,tv42/old-go,tv42/old-go,tv42/old-go,gnanderson/go,gnanderson/go,apparentlymart/golang,pombredanne/go-deleteme,pombredanne/go-deleteme,dsriram/golang,pombredanne/go-deleteme,pombredanne/go-deleteme,tv42/old-go,apparentlymart/golang,apparentlymart/golang,gnanderson/go,pombredanne/go-deleteme,dsriram/golang,dsriram/golang,gnanderson/go,apparentlymart/golang,tv42/old-go,tv42/old-go,gnanderson/go,pombredanne/go-deleteme,tv42/old-go,dsriram/golang,dsriram/golang,dsriram/golang,pombredanne/go-deleteme,gnanderson/go,dsriram/golang,apparentlymart/golang,apparentlymart/golang