diff options
Diffstat (limited to 'libc/stdlib/system.c')
-rw-r--r-- | libc/stdlib/system.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c index 151a229c6..8c5d25d51 100644 --- a/libc/stdlib/system.c +++ b/libc/stdlib/system.c @@ -18,13 +18,14 @@ #include <sysdep-cancel.h> #endif -extern __typeof(system) __libc_system; - -/* TODO: the cancellable version breaks on sparc currently, - * need to figure out why still - */ -#if !defined __UCLIBC_HAS_THREADS_NATIVE__ || defined __sparc__ +#if !defined __UCLIBC_HAS_THREADS_NATIVE__ +/* uClinux-2.0 has vfork, but Linux 2.0 doesn't */ +#include <sys/syscall.h> +#ifndef __NR_vfork +# define vfork fork +#endif +extern __typeof(system) __libc_system; int __libc_system(const char *command) { int wait_val, pid; |