Bug 48240 - libgo assertion failure at runtime/mem.c:114 on 64-bit Solaris 10
Summary: libgo assertion failure at runtime/mem.c:114 on 64-bit Solaris 10
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: go (show other bugs)
Version: 4.7.0
: P3 normal
Target Milestone: 4.7.0
Assignee: Ian Lance Taylor
URL: http://gcc.gnu.org/ml/gcc-patches/201...
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-22 16:57 UTC by Rainer Orth
Modified: 2011-04-05 00:03 UTC (History)
0 users

See Also:
Host: *-*-solaris2.10
Target: *-*-solaris2.10
Build: *-*-solaris2.10
Known to work:
Known to fail:
Last reconfirmed: 2011-04-04 17:58:19


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Orth 2011-03-22 16:57:09 UTC
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.
Comment 1 Rainer Orth 2011-04-04 17:58:19 UTC
Patch posted.
Comment 2 ian@gcc.gnu.org 2011-04-05 00:02:36 UTC
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
Comment 3 Ian Lance Taylor 2011-04-05 00:03:43 UTC
Fixed.