diff -Nur uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/common/vfork.c uClibc-0.9.32-rc1/libc/sysdeps/linux/common/vfork.c --- uClibc-0.9.32-rc1.orig/libc/sysdeps/linux/common/vfork.c 2010-12-17 20:05:17.000000000 +0100 +++ uClibc-0.9.32-rc1/libc/sysdeps/linux/common/vfork.c 2010-12-31 14:28:19.259431750 +0100 @@ -4,30 +4,24 @@ * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ +/* Trivial implementation for arches that lack vfork */ #include #include #include -extern __typeof(vfork) __vfork attribute_hidden; - -#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 +#ifdef __ARCH_USE_MMU__ -/* Trivial implementation for arches that lack vfork */ +#ifdef __NR_fork +/* libc_hidden_proto(fork) */ +extern __typeof(vfork) __vfork attribute_hidden; pid_t __vfork(void) { return fork(); } - +/* libc_hidden_proto(vfork) */ weak_alias(__vfork,vfork) libc_hidden_weak(vfork) +#endif #endif