summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/ia64/vfork.S9
-rw-r--r--libc/sysdeps/linux/x86_64/clone.S5
2 files changed, 9 insertions, 5 deletions
diff --git a/libc/sysdeps/linux/ia64/vfork.S b/libc/sysdeps/linux/ia64/vfork.S
index c9d485b5d..d100443b7 100644
--- a/libc/sysdeps/linux/ia64/vfork.S
+++ b/libc/sysdeps/linux/ia64/vfork.S
@@ -20,8 +20,11 @@
#include "sysdep.h"
#define _SIGNAL_H
#include <bits/signum.h>
-#define _SCHED_H
-#include <bits/sched.h>
+
+/* The following are defined in linux/sched.h, which unfortunately */
+/* is not safe for inclusion in an assembly file. */
+#define CLONE_VM 0x00000100 /* set if VM shared between processes */
+#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
/* pid_t vfork(void); */
/* Implemented as __clone_syscall(CLONE_VFORK | CLONE_VM | SIGCHLD, 0) */
@@ -36,6 +39,6 @@ ENTRY(__vfork)
(p6) br.cond.spnt.few __syscall_error
ret
PSEUDO_END(__vfork)
+libc_hidden_weak (vfork)
weak_alias (__vfork, vfork)
-libc_hidden_weak (vfork)
diff --git a/libc/sysdeps/linux/x86_64/clone.S b/libc/sysdeps/linux/x86_64/clone.S
index 2dc9a502c..b93c2d9a4 100644
--- a/libc/sysdeps/linux/x86_64/clone.S
+++ b/libc/sysdeps/linux/x86_64/clone.S
@@ -23,8 +23,9 @@
#define _ERRNO_H 1
#include <bits/errno.h>
#include <sys/syscall.h>
-#define _SCHED_H
-#include <bits/sched.h>
+
+#define CLONE_VM 0x00000100
+#define CLONE_THREAD 0x00010000
/* The userland implementation is:
int clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg),