This patch from Dominik Vogt fixes some s390 failures in libgo. Ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r bdce421e579e libgo/go/runtime/chan_test.go --- a/libgo/go/runtime/chan_test.go Wed Mar 25 14:16:52 2015 -0700 +++ b/libgo/go/runtime/chan_test.go Wed Mar 25 17:39:06 2015 -0700 @@ -202,6 +202,11 @@ n := 10000 if testing.Short() { n = 100 + } else { + if runtime.GOARCH == "s390" { + // Test uses too much address space on 31-bit S390. + t.Skip("skipping long test on s390") + } } for i := 0; i < n; i++ { c := make(chan int, 1) diff -r bdce421e579e libgo/go/runtime/map_test.go --- a/libgo/go/runtime/map_test.go Wed Mar 25 14:16:52 2015 -0700 +++ b/libgo/go/runtime/map_test.go Wed Mar 25 17:39:06 2015 -0700 @@ -243,7 +243,12 @@ func testConcurrentReadsAfterGrowth(t *testing.T, useReflect bool) { if runtime.GOMAXPROCS(-1) == 1 { - defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(16)) + if runtime.GOARCH == "s390" { + // Test uses too much address space on 31-bit S390. + defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(8)) + } else { + defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(16)) + } } numLoop := 10 numGrowStep := 250