This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Recent Go patch broke Solaris bootstrap
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 12 Nov 2013 15:43:28 +0100
- Subject: Re: Recent Go patch broke Solaris bootstrap
- Authentication-results: sourceware.org; auth=none
- References: <ydd8uwzp0ey dot fsf at lokon dot CeBiTec dot Uni-Bielefeld dot DE> <CAKOQZ8ya7UfDtn9iWwAS7QoUiBr+v5v7VcPThpP9vyPq225skw at mail dot gmail dot com>
Ian Lance Taylor <iant@google.com> writes:
> On Fri, Nov 8, 2013 at 4:01 AM, Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>> The recent Go patch (couldn't find the submission on gcc-patches) broke
>> Solaris bootstrap: on Solaris 10/x86 I get
>>
>> /vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsockopt_unix.go:26:103: error: reference to undefined identifier 'syscall.TCP_KEEPINTVL'
>> err := os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, syscall.TCP_KEEPINTVL, secs))
>> ^
>> /vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsockopt_unix.go:30:103: error: reference to undefined identifier 'syscall.TCP_KEEPIDLE'
>> return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd.sysfd, syscall.IPPROTO_TCP, syscall.TCP_KEEPIDLE, secs))
>> ^
>
> I think this will be fixed by the appended patch. Bootstrapped and
> tested on x86_64-unknown-linux-gnu, not that that proves anything.
> Committed to mainline.
works on Solaris 11, but not on Solaris 9 and 10 which lack
TCP_KEEPALIVE_THRESHOLD. Even so, the file still doesn't compile:
/vol/gcc/src/hg/trunk/local/libgo/go/net/tcpsockopt_solaris.go:22:31: error: incompatible types in binary expression
msecs := int(d.Nanoseconds() / time.Millisecond)
^
and this still prevents compilation of net.lo:
/vol/gcc/src/hg/trunk/local/libgo/go/net/fd_select.go:90:30: error: use of undefined type 'pollServer'
func (p *pollster) WaitFD(s *pollServer, nsec int64) (fd int, mode int, err error) {
^
/vol/gcc/src/hg/trunk/local/libgo/go/net/fd_select.go:113:5: error: reference to field 'Unlock' in object which has no fields or methods
s.Unlock()
^
/vol/gcc/src/hg/trunk/local/libgo/go/net/fd_select.go:115:5: error: reference to field 'Lock' in object which has no fields or methods
s.Lock()
^
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University