Message ID | yddd23e679j.fsf@CeBiTec.Uni-Bielefeld.DE |
---|---|
State | New |
Headers | show |
On Wed, Apr 8, 2015 at 7:10 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote: > Ian Lance Taylor <iant@golang.org> writes: > >> On Wed, Apr 8, 2015 at 6:48 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote: >>> Ian Lance Taylor <iant@golang.org> writes: >>> >>>> On Mon, Nov 3, 2014 at 8:59 AM, Rainer Orth >>>> <ro@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. Committed. Ian
# 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 $?