Ian Lance Taylor writes:
> Rainer Orth writes:
>
>> * I'm removing IRIX-specific parts of libgo. Given that libgo is
>> imported from upstream (and supposed to work or made work on the 4.7
>> branch), I don't know if this a good idea.
>
> Yeah, it's not. Just send me the mainline patches to libgo rather than
> applying them yourself, I'll apply them to the upstream repository and
> commit to mainline.
Here's the libgo part of the patch. Given that IRIX 6.5 Go support
remains on the 4.7 branch (and I hope to fix it up sufficiently to be
useful after 4.7.0 is released), I wonder if it's a good idea to apply
it upstream or better handle libgo like the other upstream libraries
(boehm-gc, libffi) which I didn't touch for the removal.
Thanks.
Rainer
2012-03-10 Rainer Orth
libgo:
* configure.ac (is_irix): Remove.
(mips-sgi-irix6.5*): Don't set OSCFLAGS.
* configure: Regenerate.
* Makefile.am [LIBGO_IS_IRIX]: Remove.
* Makefile.in: Regenerate.
* mksysinfo.sh [__sgi__]: Remove.
(__timespec): Remove.
* go/net/http/cgi/host.go (osDefaultInheritEnv): Remove irix
handling.
* go/syscall/socket_irix.go: Remove.
* go/time/zoneinfo_unix.go (zoneDirs): Remove IRIX 6 support.
diff --git a/libgo/Makefile.am b/libgo/Makefile.am
--- a/libgo/Makefile.am
+++ b/libgo/Makefile.am
@@ -646,12 +646,6 @@ go_net_sock_file = go/net/sock_linux.go
go_net_sockopt_file = go/net/sockopt_linux.go
go_net_sockoptip_file = go/net/sockoptip_linux.go
else
-if LIBGO_IS_IRIX
-go_net_cgo_file = go/net/cgo_linux.go
-go_net_sock_file = go/net/sock_linux.go
-go_net_sockopt_file = go/net/sockopt_linux.go
-go_net_sockoptip_file = go/net/sockoptip_linux.go
-else
if LIBGO_IS_SOLARIS
go_net_cgo_file = go/net/cgo_linux.go
go_net_sock_file = go/net/sock_linux.go
@@ -671,7 +665,6 @@ go_net_sockoptip_file = go/net/sockoptip
endif
endif
endif
-endif
if LIBGO_IS_LINUX
go_net_sendfile_file = go/net/sendfile_linux.go
@@ -754,9 +747,6 @@ else
if LIBGO_IS_SOLARIS
go_os_sys_file = go/os/sys_uname.go
else
-if LIBGO_IS_IRIX
-go_os_sys_file = go/os/sys_uname.go
-else
if LIBGO_IS_RTEMS
go_os_sys_file = go/os/sys_uname.go
else
@@ -764,7 +754,6 @@ go_os_sys_file = go/os/sys_bsd.go
endif
endif
endif
-endif
if LIBGO_IS_SOLARIS
go_os_stat_file = go/os/stat_solaris.go
@@ -862,12 +851,8 @@ go_sync_files = \
if LIBGO_IS_SOLARIS
go_syslog_file = go/log/syslog/syslog_libc.go
else
-if LIBGO_IS_IRIX
-go_syslog_file = go/log/syslog/syslog_libc.go
-else
go_syslog_file = go/log/syslog/syslog_unix.go
endif
-endif
go_log_syslog_files = \
go/log/syslog/syslog.go \
@@ -1464,13 +1449,9 @@ else
if LIBGO_IS_SOLARIS
syscall_socket_file = go/syscall/socket_solaris.go
else
-if LIBGO_IS_IRIX
-syscall_socket_file = go/syscall/socket_irix.go
-else
syscall_socket_file = go/syscall/socket_bsd.go
endif
endif
-endif
# Support for uname.
if LIBGO_IS_SOLARIS
diff --git a/libgo/configure.ac b/libgo/configure.ac
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -126,7 +126,6 @@ AC_SUBST(go_include)
is_darwin=no
is_freebsd=no
-is_irix=no
is_linux=no
is_netbsd=no
is_rtems=no
@@ -135,7 +134,6 @@ GOOS=unknown
case ${host} in
*-*-darwin*) is_darwin=yes; GOOS=darwin ;;
*-*-freebsd*) is_freebsd=yes; GOOS=freebsd ;;
- *-*-irix6*)is_irix=yes;GOOS=irix ;;
*-*-linux*)is_linux=yes; GOOS=linux ;;
*-*-netbsd*) is_netbsd=yes; GOOS=netbsd ;;
*-*-rtems*)is_rtems=yes; GOOS=rtems ;;
@@ -143,7 +141,6 @@ case ${host} in
esac
AM_CONDITIONAL(LIBGO_IS_DARWIN, test $is_darwin = yes)
AM_CONDITIONAL(LIBGO_IS_FREEBSD, test $is_freebsd = yes)
-AM_CONDITIONAL(LIBGO_IS_IRIX, test $is_irix = yes)
AM_CONDITIONAL(LIBGO_IS_LINUX, test $is_linux = yes)
AM_CONDITIONAL(LIBGO_IS_NETBSD, test $is_netbsd = yes)
AM_CONDITIONAL(LIBGO_IS_RTEMS, test $is_rtems = yes)
@@ -285,11 +282,6 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE)
dnl Special flags used to generate sysinfo.go.
OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
case "$target" in
-mips-sgi-irix6.5*)
- # IRIX 6 needs _XOPEN_SOURCE=500 for the XPG5 version of struct
- # msghdr in .
- OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500"
- ;;
*-*-solaris2.[[89]])
# Solaris 8/9 need this so struct msghdr gets the msg_control
# etc. fields in (_XPG4_2).
diff --git a/libgo/go/net/http/cgi/host.go b/libgo/go/net/http/cgi/host.go
--- a/libgo/go/net/http/cgi/host.go
+++ b/libgo/go/net/http/cgi/host.go
@@ -35,7 +35,6 @@ var osDefaultInheritEnv = map[string][]s
"darwin": {"DYLD_LIBRARY_PATH"},
"freebsd": {"LD_LIBRARY_PATH"},
"hpux":{"LD_LIBRARY_PATH", "SHLIB_PATH"},
- "irix":{"LD_LIBRARY_PATH", "LD_LIBRARYN32_PATH", "LD_LIBRARY64_PATH"},
"linux": {"LD_LIBRARY_PATH"},
"openbsd": {"LD_LIBRARY_PATH"},
"solaris": {"LD_LIBRARY_PATH", "LD_LIBRARY_PATH_32", "LD_LIBRARY_PATH_64"},
diff --git a/libgo/go/syscall/socket_irix.go b/libgo/go/syscall/socke