Ian Lance Taylor <i...@golang.org> writes: > On Wed, Apr 8, 2015 at 6:48 AM, Rainer Orth <r...@cebitec.uni-bielefeld.de> > wrote: >> Ian Lance Taylor <i...@golang.org> writes: >> >>> On Mon, Nov 3, 2014 at 8:59 AM, Rainer Orth >>> <r...@cebitec.uni-bielefeld.de> wrote: >>>> >>>> The recent godump changes broke Solaris 11.1+ bootstrap in libgo: >>>> before, gen-sysinfo.so had >>>> >>>> type _zone_net_addr_t struct { zna_family uint16; zna_plen uint16; >>>> zna_addru struct { znau_addr6 _in6_addr; }; } >>>> >>>> which was filtered out by mksysinfo.sh due to the use of _in6_addr. >>>> >>>> After the change, there's now >>>> >>>> type _zone_net_addr_t struct { zna_family uint16; zna_plen uint16; >>>> zna_addru struct { znau_addr6 [16]byte; Godump_0_align [0]uint32; }; } >>>> >>>> instead, not filtered, but added a second time by the _zone_net_addr_t >>>> code in mksysinfo.sh, which leads to redefinition warnings/errors. >>>> >>>> Simply removing the old _zone_net_addr_t fragment fixes this and >>>> restores bootstrap. >>>> >>>> Bootstrapped without regressions on i386-pc-solaris2.1[01], ok for >>>> mainline? >>> >>> >>> I just got back to this. Committed to mainline. Thanks. >> >> Sorry for the late reply, but between the time I submitted the patch and >> you committing it, something changed and the mksysinfo.sh fragment >> became necessary again. In fact, without it Solaris 11 bootstrap is >> broken. > > To avoid any confusion, can you send me the patch I should apply to mainline?
Sure: here's what I have in my tree. Thanks. Rainer
# 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