http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51874
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2012-01-27 11:45:17 UTC --- I've also had a look at the Solaris/SPARC failures, which are unrelated to the 64-bit Solaris/x86 problem previously identified. I could trace it to the most trivial testcase with channels: package main func send(ch chan<- int) { ch <- 1 } func main() { ch := make(chan int) go send(ch) recv := <-ch if recv != 1 { panic (recv) } print(recv, "\n") } On Solaris/SPARC (both 32 and 64-bit), this fails with panic: 0 I've still to closer investigate why this happens. I suspect that this is also the cause of the IRIX failures (a libgo build is currently running). Maybe this is just and endianess problem: it's interesting that 32-bit Solaris/x86 works (little-endian), while 32-bit Solaris/SPARC and IRIX (both big-endian) don't. Rainer