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

Reply via email to