On Fri, 2014-05-16 at 06:20 -0700, Ian Lance Taylor wrote: > On Fri, May 16, 2014 at 1:03 AM, Svante Signell > <svante.sign...@gmail.com> wrote: > > > > For that part of the patch without it the build on GNU/Hurd fails. On > > the other hand SYS_FCNTL is not defined for e.g. GNU/Linux either. This > > is used in gcc-4.9-4.9.0/src/libgo/go/net/fd_unix.go: > > func dupCloseOnExec(fd int) (newfd int, err error) { > > if atomic.LoadInt32(&tryDupCloexec) == 1 && syscall.F_DUPFD_CLOEXEC!=0 { > > r0, _, e1 := syscall.Syscall(syscall.SYS_FCNTL, uintptr(fd), > > syscall.F_DUPFD_CLOEXEC, 0) > > > > It is yet unknown how the build succeeds on Linux without the SYS_FCNTL > > being defined? Maybe any the conditions above are not met. > > On GNU/Linux SYS_FCNTL is defined by the generated file sysinfo.go, > because SYS_fcntl is defined by <syscall.h>.
Thanks, then that part of the patch should read: # Special treatment of _SYS_fcntl for GNU/Hurd if ! grep '^const _SYS_fcntl' ${OUT} > /dev/null 2>&1; then echo "const SYS_FCNTL = 0" >> ${OUT} fi Shall I submit a new patch8.diff (or all patches again)?