summaryrefslogtreecommitdiffstats
path: root/libgo
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-05 15:24:21 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-05 15:24:21 +0000
commitc9f7ea947c176791e7996d5cff9931fcf891943b (patch)
tree704a0bcd8d1a53bba0eddac18fa3a54b837af4c6 /libgo
parentebd3c0e093b11c418ad015cd78a8d51ca39ae70c (diff)
downloadppe42-gcc-c9f7ea947c176791e7996d5cff9931fcf891943b.tar.gz
ppe42-gcc-c9f7ea947c176791e7996d5cff9931fcf891943b.zip
runtime: Use the clone system call on GNU/Linux.
Without this we weren't supporting the standard Cloneflags field of SysProcAttr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@214971 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rw-r--r--libgo/go/syscall/exec_linux.go4
1 files changed, 2 insertions, 2 deletions
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
OpenPOWER on IntegriCloud