This libgo patch based on a patch by Svante Signell fixes a couple of tests for the Hurd. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 268604) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -28b65174d9c9163f4ab2cfaf70dca646f1a7611f +9b66264ed6adcf3fd215dbfd125c12b022b7280e The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/os/os_test.go =================================================================== --- libgo/go/os/os_test.go (revision 268369) +++ libgo/go/os/os_test.go (working copy) @@ -1336,6 +1336,10 @@ func TestSeek(t *testing.T) { t.Logf("skipping test case #%d on nacl; https://golang.org/issue/21728", i) continue } + if runtime.GOOS == "hurd" && tt.out > 1<<32 { + t.Logf("skipping test case #%d on Hurd: file too large", i) + continue + } off, err := f.Seek(tt.in, tt.whence) if off != tt.out || err != nil { if e, ok := err.(*PathError); ok && e.Err == syscall.EINVAL && tt.out > 1<<32 && runtime.GOOS == "linux" { Index: libgo/go/syscall/syscall_unix_test.go =================================================================== --- libgo/go/syscall/syscall_unix_test.go (revision 268369) +++ libgo/go/syscall/syscall_unix_test.go (working copy) @@ -46,11 +46,13 @@ func _() { // fcntl file locking structure and constants var ( _ = syscall.Flock_t{ - Type: int16(0), - Whence: int16(0), - Start: int64(0), - Len: int64(0), - Pid: int32(0), + // Comment out the Type and Whence tests because + // on the Hurd they are int32, not int16. + // Type: int16(0), + // Whence: int16(0), + Start: int64(0), + Len: int64(0), + Pid: int32(0), } ) const (