From f8035dc4dfa8a7ca0d88c1dfc3e4d7051559aaf1 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 20 Aug 2014 20:26:32 +0200 Subject: fix some uClibc sparc issues. Disable DO_XSI_MATH for now, because testsuite fails to compile, when enabled. missing bessel float implementation --- ...c-disable-cancellable-system-as-it-fails-.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch (limited to 'toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch') diff --git a/toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch b/toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch new file mode 100644 index 000000000..7629ce803 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch @@ -0,0 +1,46 @@ +From df4848120be5353a3bd1216616c6823ea6430b71 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 04:02:49 +0200 +Subject: [PATCH 3/5] Revert "sparc: disable cancellable system, as it fails in + strange ways right now" + +This reverts commit 1db4f8f8389f6a935ecd83aff7fcce5d1cf2c0f3. + +It is unclear how this is breaking sparc. +With this changed 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 +--- + libc/stdlib/system.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c +index 151a229..8c5d25d 100644 +--- a/libc/stdlib/system.c ++++ b/libc/stdlib/system.c +@@ -18,13 +18,14 @@ + #include + #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 ++#ifndef __NR_vfork ++# define vfork fork ++#endif + ++extern __typeof(system) __libc_system; + int __libc_system(const char *command) + { + int wait_val, pid; +-- +1.8.5.2 (Apple Git-48) + -- cgit v1.2.3