http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47515
Summary: Issues porting libgo to IRIX 6.5
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: go
AssignedTo: [email protected]
ReportedBy: [email protected]
Host: mips-sgi-irix6.5
Target: mips-sgi-irix6.5
Build: mips-sgi-irix6.5
I just started a quick attempt porting libgo to IRIX 6.5. Here are the issues
I've found so far:
* runtime/mem.c fails to compile:
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c: In function 'runtime_SysAlloc':
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:12:59: error: 'MAP_ANON'
undeclared (first use in this function)
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:12:59: note: each undeclared
identifier is reported only once for each function it appears in
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c: In function
'runtime_SysMemInit':
/vol/gcc/src/hg/trunk/irix/libgo/runtime/mem.c:49:47: error: 'MAP_ANON'
undeclared (first use in this function)
make[4]: *** [mem.lo] Error 1
One could mmap /dev/zero instead, cf. gcc/acinclude.m4, gcc/ggc-{page,
zone}.c
* Of course, support for IRIX needs to be added to configure.ac and
Makefile.am.
* Several new OS-dependent files will be needed.
* Building libgo still depends on a linker supporting --whole-archive, but SGI
ld doesn't and GNU ld doesn't work due to PR target/43533.
* The dependency on objcopy needs at least to be documented in install.texi,
but
even better avoided.
* CC_FOR_BUILD, CFLAGS_FOR_BUILD are only passed in from toplevel, but if
one runs make in <target>/libgo, it fails in strange ways.
* I get several warnings from go1:
go1: warning: visibility attribute not supported in this configuration; ignored
[-Wattributes]
It would be good to only use protected visibility if the target supports
that.
Given the --whole-archive issue, I'll stop working on this for now, but could
probably deal with the rest if this is sorted out.