https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86331
--- Comment #10 from Ian Lance Taylor <ian at airs dot com> --- Thanks. The documentation for the syscall function say that it only sets errno on failure, but I forgot about signal handlers. That is definitely a problem. Since there is no generic way to detect whether a system call failed, this may require libgo to provide assembly language versions of syscall.Syscall.