This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch8.diff updated Was: Re: GCC's -fsplit-stack disturbing Mach's vm_allocate


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.signell@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)?


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]