summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-08-28 12:31:20 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2014-08-28 12:38:34 +0200
commit789fca90bff0b0bcd658444cea6afd4cdb43dc5d (patch)
treeb88288b13520dd057c391e1047041d8e09fdeb72
parentc09e41ef92e48356e62c795384864ee792ac7fe6 (diff)
Revert "sparc: disable cancellable system, as it fails in strange ways right now"
This reverts commit 1db4f8f8389f6a935ecd83aff7fcce5d1cf2c0f3. It is unclear in which way this is breaking sparc systems. With this change added you get following linking error: libpthread/nptl/libpthread_so.a(pt-system.oS): In function `__libc_system': libc/stdlib/system.c:64: undefined reference to `__wait4_nocancel' Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--libc/stdlib/system.c13
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;