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: i...@airs.com ReportedBy: r...@gcc.gnu.org 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.