This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]