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

Reply via email to