From: Ian Lance Taylor Date: Fri, 5 Sep 2014 15:24:36 +0000 (+0000) Subject: runtime: Use the clone system call on GNU/Linux. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=01c2fa9d53bee9a6aeeb2b8026081db22c2a66f1;p=gcc.git runtime: Use the clone system call on GNU/Linux. Without this we weren't supporting the standard Cloneflags field of SysProcAttr. From-SVN: r214972 --- diff --git a/libgo/go/syscall/exec_linux.go b/libgo/go/syscall/exec_linux.go index 5d14ec385a4..6a92163206b 100644 --- a/libgo/go/syscall/exec_linux.go +++ b/libgo/go/syscall/exec_linux.go @@ -43,7 +43,7 @@ func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr // Declare all variables at top in case any // declarations require heap allocation (e.g., err1). var ( - r1 Pid_t + r1 uintptr err1 Errno nextfd int i int @@ -65,7 +65,7 @@ func forkAndExecInChild(argv0 *byte, argv, envv []*byte, chroot, dir *byte, attr // About to call fork. // No more allocation or calls of non-assembly functions. runtime_BeforeFork() - r1, err1 = raw_fork() + r1, _, err1 = RawSyscall6(SYS_CLONE, uintptr(SIGCHLD)|sys.Cloneflags, 0, 0, 0, 0, 0) if err1 != 0 { runtime_AfterFork() return 0, err1