This patch from Peter Collingbourne avoids an unnecessary gccgo extension in libgo. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 801009f33610 libgo/go/syscall/libcall_posix.go --- a/libgo/go/syscall/libcall_posix.go Thu Apr 17 16:01:58 2014 -0700 +++ b/libgo/go/syscall/libcall_posix.go Thu Apr 17 16:03:58 2014 -0700 @@ -138,7 +138,7 @@ //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //select(nfd _C_int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) _C_int -const nfdbits = int(unsafe.Sizeof(fds_bits_type) * 8) +const nfdbits = int(unsafe.Sizeof(fds_bits_type(0)) * 8) type FdSet struct { Bits [(FD_SETSIZE + nfdbits - 1) / nfdbits]fds_bits_type