This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[libgo] Handle Solaris 11 Update 1 zone_net_addr_t
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Ian Lance Taylor <iant at google dot com>
- Date: Wed, 28 Mar 2012 13:19:51 +0200
- Subject: [libgo] Handle Solaris 11 Update 1 zone_net_addr_t
When I first tried to build mainline on Solaris 11 Update 1, the libgo
build failed. In gen-sysinfo.go, I have
type _zone_net_addr_t struct { zna_family uint16; zna_plen uint16; zna_addru struct { znau_addr6 _in6_addr; }; }
type _zone_net_data_t struct { zn_type int; zn_linkid uint32; zn_naddrs uint32; zn_addrs [0+1]_zone_net_addr_t; }
but the former is filtered out due to its use of _in6_addr, so we're
left with a reference to an undefined type.
The following patch fixes this and allowed the bootstrap to complete,
but I wonder if it wouldn't be better to globally do a
sed -e 's/_in6_addr/[16]byte/'
instead of the current special-casing of _in6_addr in a couple of places.
Rainer
2012-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* mksysinfo.sh (_zone_net_addr_t): Handle _in6_addr.
# HG changeset patch
# Parent fb5daa5b2c139aa02220feb898ac29bbafb1cb00
Handle Solaris 11 Update 1 zone_net_addr_t
diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh
--- a/libgo/mksysinfo.sh
+++ b/libgo/mksysinfo.sh
@@ -1065,4 +1065,9 @@ grep '^type _ipv6_member_t ' gen-sysinfo
egrep '^const _(MIB2|EXPER)_' gen-sysinfo.go | \
sed -e 's/^\(const \)_\([^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
+# The Solaris 11 Update 1 _zone_net_addr_t struct.
+grep '^type _zone_net_addr_t ' gen-sysinfo.go | \
+ sed -e 's/_in6_addr/[16]byte/' \
+ >> ${OUT}
+
exit $?
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University