|
@@ -4,24 +4,30 @@
|
|
|
* Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
|
|
|
*/
|
|
|
|
|
|
-
|
|
|
#include <unistd.h>
|
|
|
#include <sys/types.h>
|
|
|
#include <sys/syscall.h>
|
|
|
|
|
|
-#ifdef __ARCH_USE_MMU__
|
|
|
+extern __typeof(vfork) __vfork attribute_hidden;
|
|
|
|
|
|
-#ifdef __NR_fork
|
|
|
-
|
|
|
+#ifdef __NR_vfork
|
|
|
+
|
|
|
+# define __NR___vfork __NR_vfork
|
|
|
+_syscall0(pid_t, __vfork)
|
|
|
+
|
|
|
+weak_alias(__vfork,vfork)
|
|
|
+libc_hidden_weak(vfork)
|
|
|
+
|
|
|
+#elif defined __ARCH_USE_MMU__ && defined __NR_fork
|
|
|
+
|
|
|
+
|
|
|
|
|
|
-extern __typeof(vfork) __vfork attribute_hidden;
|
|
|
pid_t __vfork(void)
|
|
|
{
|
|
|
return fork();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
weak_alias(__vfork,vfork)
|
|
|
libc_hidden_weak(vfork)
|
|
|
-#endif
|
|
|
|
|
|
#endif
|