PR 64725 says that in some cases a finalizer test fails for gccgo. I have not seen this myself but it's certainly possible, since gccgo's garbage collection is not precise. This patch disables the finalizer tests that require that a finalizer always run. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline.
Ian
diff -r 25802b3fa1b1 libgo/go/runtime/mfinal_test.go --- a/libgo/go/runtime/mfinal_test.go Fri Jan 23 11:49:03 2015 -0800 +++ b/libgo/go/runtime/mfinal_test.go Fri Jan 23 15:19:44 2015 -0800 @@ -24,6 +24,9 @@ if runtime.GOARCH != "amd64" { t.Skipf("Skipping on non-amd64 machine") } + if runtime.Compiler == "gccgo" { + t.Skip("skipping for gccgo") + } ch := make(chan bool, 10) finalize := func(x *int) { @@ -80,6 +83,9 @@ if runtime.GOARCH != "amd64" { t.Skipf("Skipping on non-amd64 machine") } + if runtime.Compiler == "gccgo" { + t.Skip("skipping for gccgo") + } ch := make(chan bool) done := make(chan bool, 1) go func() { @@ -174,6 +180,9 @@ if true { // disable until bug 7564 is fixed. return } + if runtime.Compiler == "gccgo" { + t.Skip("skipping for gccgo") + } x, y := adjChunks() // the pointer inside xs points to y.