Unlike Solaris 11/x86, several go and libgo tests fail on 64-bit Solaris 10 (both SPARC and x86): FAIL: go.go-torture/execute/array-1.go execution, -O0 /vol/gcc/src/hg/trunk/local/libgo/runtime/mem.c:114: libgo assertion failure runtime: address space conflict: map(f840000000) = fffffb7ffbb7e000 I suppose this is because Solaris < 11 doesn't honor the addr parameter to mmap(2) without MAP_FIXED (cf. gcc/config/host-solaris.c), but haven't yet checked in detail.
Patch posted.
Author: ian Date: Tue Apr 5 00:02:15 2011 New Revision: 171961 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=171961 Log: libgo: Use MAP_FIXED if necessary to grab arena. From Rainer Orth. PR go/48240 * configure.ac: Check for mincore. * configure: Regenerate. * config.h.in: Regenerate. * runtime/mem.c: Include unistd.h. (addrspace_free): New function. (runtime_SysMap): Retry 64-bit runtime_mmap with MAP_FIXED. Modified: trunk/libgo/config.h.in trunk/libgo/configure trunk/libgo/configure.ac trunk/libgo/runtime/mem.c
Fixed.