From ec71cc8829ad871ce3587d04d71827f769e5d265 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 20 Aug 2014 22:00:15 +0200 Subject: refresh uClibc patchsets --- ...ert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch | 65 ++++++++++++++++++++++ .../0.9.34-git/0001-fix-for-pipe-on-sparc.patch | 34 ----------- ...c-disable-cancellable-system-as-it-fails-.patch | 46 +++++++++++++++ ...ert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch | 65 ---------------------- ...c-disable-cancellable-system-as-it-fails-.patch | 46 --------------- .../0003-remove-unused-subdirs-variable.patch | 29 ++++++++++ .../0004-remove-unused-subdirs-variable.patch | 29 ---------- .../0004-sparc-testsuite-compile-fix.patch | 44 +++++++++++++++ .../0005-sparc-testsuite-compile-fix.patch | 44 --------------- ...05-sync-WRITE_BUFFER_SIZE-with-glibc-test.patch | 65 ++++++++++++++++++++++ .../0.9.34-git/0006-do-not-depend-on-compile.patch | 30 ++++++++++ 11 files changed, 279 insertions(+), 218 deletions(-) create mode 100644 toolchain/uclibc/patches/0.9.34-git/0001-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch delete mode 100644 toolchain/uclibc/patches/0.9.34-git/0001-fix-for-pipe-on-sparc.patch create mode 100644 toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-disable-cancellable-system-as-it-fails-.patch delete mode 100644 toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch delete mode 100644 toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch create mode 100644 toolchain/uclibc/patches/0.9.34-git/0003-remove-unused-subdirs-variable.patch delete mode 100644 toolchain/uclibc/patches/0.9.34-git/0004-remove-unused-subdirs-variable.patch create mode 100644 toolchain/uclibc/patches/0.9.34-git/0004-sparc-testsuite-compile-fix.patch delete mode 100644 toolchain/uclibc/patches/0.9.34-git/0005-sparc-testsuite-compile-fix.patch create mode 100644 toolchain/uclibc/patches/0.9.34-git/0005-sync-WRITE_BUFFER_SIZE-with-glibc-test.patch create mode 100644 toolchain/uclibc/patches/0.9.34-git/0006-do-not-depend-on-compile.patch (limited to 'toolchain/uclibc') diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch b/toolchain/uclibc/patches/0.9.34-git/0001-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch new file mode 100644 index 000000000..6a918215e --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0001-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch @@ -0,0 +1,65 @@ +From 984be720d4ee1fc717d4de5e67a776419003c1c6 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 03:44:53 +0200 +Subject: [PATCH 1/6] Revert "sparc: use HIDDEN_JUMPTARGET for errno" + +This reverts commit f51fb26dbcceee9e48d10facc830bd4a549f6cc2. + +This fixes linking error for sparc build. +While building a sparc system you get following linking error: +libc/sysdeps/linux/sparc/pipe.S:54: undefined reference to `__GI___errno_location' + +Removing the HIDDEN_JUMPTARGET fixes the issue, while using gcc 4.8.3/binutils 2.24. + +The definition of __errno_location was changed recently here: +http://git.uclibc.org/uClibc/commit/?id=8f550715c2b211036fc273add3cb5219397ed312 + +Signed-off-by: Waldemar Brodkorb +--- + libc/sysdeps/linux/sparc/fork.S | 2 +- + libc/sysdeps/linux/sparc/pipe.S | 2 +- + libc/sysdeps/linux/sparc/vfork.S | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S +index 8e4bc22..1715911 100644 +--- a/libc/sysdeps/linux/sparc/fork.S ++++ b/libc/sysdeps/linux/sparc/fork.S +@@ -35,7 +35,7 @@ fork: + bcc,a 9000f + nop + save %sp,-96,%sp +- call HIDDEN_JUMPTARGET(__errno_location) ++ call __errno_location + nop + st %i0,[%o0] + jmpl %i7+8,%g0 +diff --git a/libc/sysdeps/linux/sparc/pipe.S b/libc/sysdeps/linux/sparc/pipe.S +index b085faf..fa77f4d 100644 +--- a/libc/sysdeps/linux/sparc/pipe.S ++++ b/libc/sysdeps/linux/sparc/pipe.S +@@ -49,7 +49,7 @@ pipe: + restore %g0,%g0,%o0 + + .Lerror: +- call HIDDEN_JUMPTARGET(__errno_location) ++ call __errno_location + or %g0,EINVAL,%i0 + st %i0,[%o0] + ret +diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S +index 4b701f7..e5a3c30 100644 +--- a/libc/sysdeps/linux/sparc/vfork.S ++++ b/libc/sysdeps/linux/sparc/vfork.S +@@ -37,7 +37,7 @@ __vfork: + bcc,a 9000f + nop + save %sp,-96,%sp +- call HIDDEN_JUMPTARGET(__errno_location) ++ call __errno_location + nop + st %i0,[%o0] + jmpl %i7+8,%g0 +-- +1.8.5.2 (Apple Git-48) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-fix-for-pipe-on-sparc.patch b/toolchain/uclibc/patches/0.9.34-git/0001-fix-for-pipe-on-sparc.patch deleted file mode 100644 index 5b13033a3..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0001-fix-for-pipe-on-sparc.patch +++ /dev/null @@ -1,34 +0,0 @@ -From c8f3e4d51080814a4251021277dd64c4d22263ae Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Tue, 19 Aug 2014 21:02:59 +0200 -Subject: [PATCH 1/5] fix for pipe() on sparc - -When using something like this: - $ echo foo|grep foo|wc -l -with mksh shell, you get an runtime error. - -Glibc and klibc does not do these extra check. -After removing this check using double pipes work fine. -Tested with Qemu 2.1.0. - -Signed-off-by: Waldemar Brodkorb ---- - libc/sysdeps/linux/sparc/pipe.S | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/libc/sysdeps/linux/sparc/pipe.S b/libc/sysdeps/linux/sparc/pipe.S -index 09ef322..b085faf 100644 ---- a/libc/sysdeps/linux/sparc/pipe.S -+++ b/libc/sysdeps/linux/sparc/pipe.S -@@ -35,8 +35,6 @@ pipe: - /* sanity check arguments */ - tst %i0 - be .Lerror -- orcc %i1,%g0,%o1 -- be .Lerror - mov %i2,%o0 - - /* Do the system call */ --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-disable-cancellable-system-as-it-fails-.patch b/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-disable-cancellable-system-as-it-fails-.patch new file mode 100644 index 000000000..13de28075 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-disable-cancellable-system-as-it-fails-.patch @@ -0,0 +1,46 @@ +From f152a782555667b9f763c896064e54168bb4ff1f Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 04:02:49 +0200 +Subject: [PATCH 2/6] 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) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch b/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch deleted file mode 100644 index 3e9dbb51f..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0002-Revert-sparc-use-HIDDEN_JUMPTARGET-for-errno.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0212a34e5326d2954a013476d2e5b25abe90ed33 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Wed, 20 Aug 2014 03:44:53 +0200 -Subject: [PATCH 2/5] Revert "sparc: use HIDDEN_JUMPTARGET for errno" - -This reverts commit f51fb26dbcceee9e48d10facc830bd4a549f6cc2. - -This fixes linking error for sparc build. -While building a sparc system you get following linking error: -libc/sysdeps/linux/sparc/pipe.S:54: undefined reference to `__GI___errno_location' - -Removing the HIDDEN_JUMPTARGET fixes the issue, while using gcc 4.8.3/binutils 2.24. - -The definition of __errno_location was changed recently here: -http://git.uclibc.org/uClibc/commit/?id=8f550715c2b211036fc273add3cb5219397ed312 - -Signed-off-by: Waldemar Brodkorb ---- - libc/sysdeps/linux/sparc/fork.S | 2 +- - libc/sysdeps/linux/sparc/pipe.S | 2 +- - libc/sysdeps/linux/sparc/vfork.S | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S -index 8e4bc22..1715911 100644 ---- a/libc/sysdeps/linux/sparc/fork.S -+++ b/libc/sysdeps/linux/sparc/fork.S -@@ -35,7 +35,7 @@ fork: - bcc,a 9000f - nop - save %sp,-96,%sp -- call HIDDEN_JUMPTARGET(__errno_location) -+ call __errno_location - nop - st %i0,[%o0] - jmpl %i7+8,%g0 -diff --git a/libc/sysdeps/linux/sparc/pipe.S b/libc/sysdeps/linux/sparc/pipe.S -index b085faf..fa77f4d 100644 ---- a/libc/sysdeps/linux/sparc/pipe.S -+++ b/libc/sysdeps/linux/sparc/pipe.S -@@ -49,7 +49,7 @@ pipe: - restore %g0,%g0,%o0 - - .Lerror: -- call HIDDEN_JUMPTARGET(__errno_location) -+ call __errno_location - or %g0,EINVAL,%i0 - st %i0,[%o0] - ret -diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S -index 4b701f7..e5a3c30 100644 ---- a/libc/sysdeps/linux/sparc/vfork.S -+++ b/libc/sysdeps/linux/sparc/vfork.S -@@ -37,7 +37,7 @@ __vfork: - bcc,a 9000f - nop - save %sp,-96,%sp -- call HIDDEN_JUMPTARGET(__errno_location) -+ call __errno_location - nop - st %i0,[%o0] - jmpl %i7+8,%g0 --- -1.8.5.2 (Apple Git-48) - 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 deleted file mode 100644 index 7629ce803..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0003-Revert-sparc-disable-cancellable-system-as-it-fails-.patch +++ /dev/null @@ -1,46 +0,0 @@ -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) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0003-remove-unused-subdirs-variable.patch b/toolchain/uclibc/patches/0.9.34-git/0003-remove-unused-subdirs-variable.patch new file mode 100644 index 000000000..fc6c1f0eb --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0003-remove-unused-subdirs-variable.patch @@ -0,0 +1,29 @@ +From adf9777c0859e6a59bdcdb92031b0e9d7fcb70c8 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 04:31:35 +0200 +Subject: [PATCH 3/6] remove unused subdirs variable + +For sparc TARGET_SUBARCH is never used. And there is a typo in the +path. + +Signed-off-by: Waldemar Brodkorb +--- + libpthread/nptl/sysdeps/sparc/Makefile.arch | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/libpthread/nptl/sysdeps/sparc/Makefile.arch b/libpthread/nptl/sysdeps/sparc/Makefile.arch +index 52ac6db..f9662c6 100644 +--- a/libpthread/nptl/sysdeps/sparc/Makefile.arch ++++ b/libpthread/nptl/sysdeps/sparc/Makefile.arch +@@ -4,8 +4,5 @@ + # + # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + # +-subdirs += libpthread/nptl/sysdeps/$(TARGET_ARCH)/$(TARGET_SUBARCH)/sparv9 + + CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE +- +- +-- +1.8.5.2 (Apple Git-48) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0004-remove-unused-subdirs-variable.patch b/toolchain/uclibc/patches/0.9.34-git/0004-remove-unused-subdirs-variable.patch deleted file mode 100644 index b12be41a5..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0004-remove-unused-subdirs-variable.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 914de2f0b374809d130ca6b967307b9024b828a9 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Wed, 20 Aug 2014 04:31:35 +0200 -Subject: [PATCH 4/5] remove unused subdirs variable - -For sparc TARGET_SUBARCH is never used. And there is a typo in the -path. - -Signed-off-by: Waldemar Brodkorb ---- - libpthread/nptl/sysdeps/sparc/Makefile.arch | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/libpthread/nptl/sysdeps/sparc/Makefile.arch b/libpthread/nptl/sysdeps/sparc/Makefile.arch -index 52ac6db..f9662c6 100644 ---- a/libpthread/nptl/sysdeps/sparc/Makefile.arch -+++ b/libpthread/nptl/sysdeps/sparc/Makefile.arch -@@ -4,8 +4,5 @@ - # - # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. - # --subdirs += libpthread/nptl/sysdeps/$(TARGET_ARCH)/$(TARGET_SUBARCH)/sparv9 - - CFLAGS-pthread_spin_lock.c += -D_GNU_SOURCE -- -- --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0004-sparc-testsuite-compile-fix.patch b/toolchain/uclibc/patches/0.9.34-git/0004-sparc-testsuite-compile-fix.patch new file mode 100644 index 000000000..c7d57d3f2 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0004-sparc-testsuite-compile-fix.patch @@ -0,0 +1,44 @@ +From a7695a072fbe3a5449f3ecb493f15f9cf10e18ca Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 04:39:04 +0200 +Subject: [PATCH 4/6] sparc testsuite compile fix + +tst-spin1.c compile breaks with: +test/nptl/tst-spin1.c:34: undefined reference to `pthread_spin_lock' + +pthread_spin_lock and pthread_spin_trylock is missing while +building sparc. add the meta c files here. + +Signed-off-by: Waldemar Brodkorb +--- + libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c | 5 +++++ + libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c | 5 +++++ + 2 files changed, 10 insertions(+) + create mode 100644 libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c + create mode 100644 libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c + +diff --git a/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c b/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c +new file mode 100644 +index 0000000..dcc5ae2 +--- /dev/null ++++ b/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c +@@ -0,0 +1,5 @@ ++#if defined(__arch64__) ++#include "sparc64/pthread_spin_lock.c" ++#else ++#include "sparc32/pthread_spin_lock.c" ++#endif +diff --git a/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c b/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c +new file mode 100644 +index 0000000..af63eec +--- /dev/null ++++ b/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c +@@ -0,0 +1,5 @@ ++#if defined(__arch64__) ++#include "sparc64/pthread_spin_trylock.c" ++#else ++#include "sparc32/pthread_spin_trylock.c" ++#endif +-- +1.8.5.2 (Apple Git-48) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0005-sparc-testsuite-compile-fix.patch b/toolchain/uclibc/patches/0.9.34-git/0005-sparc-testsuite-compile-fix.patch deleted file mode 100644 index 05f8f68bd..000000000 --- a/toolchain/uclibc/patches/0.9.34-git/0005-sparc-testsuite-compile-fix.patch +++ /dev/null @@ -1,44 +0,0 @@ -From edda85b5a6c35cc2bc029d0020747167e2867a91 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb -Date: Wed, 20 Aug 2014 04:39:04 +0200 -Subject: [PATCH 5/5] sparc testsuite compile fix - -tst-spin1.c compile breaks with: -test/nptl/tst-spin1.c:34: undefined reference to `pthread_spin_lock' - -pthread_spin_lock and pthread_spin_trylock is missing while -building sparc. add the meta c files here. - -Signed-off-by: Waldemar Brodkorb ---- - libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c | 5 +++++ - libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c | 5 +++++ - 2 files changed, 10 insertions(+) - create mode 100644 libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c - create mode 100644 libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c - -diff --git a/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c b/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c -new file mode 100644 -index 0000000..dcc5ae2 ---- /dev/null -+++ b/libpthread/nptl/sysdeps/sparc/pthread_spin_lock.c -@@ -0,0 +1,5 @@ -+#if defined(__arch64__) -+#include "sparc64/pthread_spin_lock.c" -+#else -+#include "sparc32/pthread_spin_lock.c" -+#endif -diff --git a/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c b/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c -new file mode 100644 -index 0000000..af63eec ---- /dev/null -+++ b/libpthread/nptl/sysdeps/sparc/pthread_spin_trylock.c -@@ -0,0 +1,5 @@ -+#if defined(__arch64__) -+#include "sparc64/pthread_spin_trylock.c" -+#else -+#include "sparc32/pthread_spin_trylock.c" -+#endif --- -1.8.5.2 (Apple Git-48) - diff --git a/toolchain/uclibc/patches/0.9.34-git/0005-sync-WRITE_BUFFER_SIZE-with-glibc-test.patch b/toolchain/uclibc/patches/0.9.34-git/0005-sync-WRITE_BUFFER_SIZE-with-glibc-test.patch new file mode 100644 index 000000000..5a9d1b130 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0005-sync-WRITE_BUFFER_SIZE-with-glibc-test.patch @@ -0,0 +1,65 @@ +From 8a70d40078cbfd5263d3e417ad6912783fdd5aa8 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 20:29:08 +0200 +Subject: [PATCH 5/6] sync WRITE_BUFFER_SIZE with glibc test + +Test on Linux 3.16.1 in Qemu ARM fails with: + TEST_EXEC nptl/ tst-cancel4 +ret == 1 ; expected_ret == 0 +make[1]: *** [tst-cancel4.exe] Error 1 +The output of failed test is: +minimum write buffer size too large +../Test.mak:89: recipe for target 'tst-cancel4.exe' failed + +Signed-off-by: Waldemar Brodkorb +--- + test/nptl/tst-cancel4.c | 26 ++++++++++++++++++++++++-- + 1 file changed, 24 insertions(+), 2 deletions(-) + +diff --git a/test/nptl/tst-cancel4.c b/test/nptl/tst-cancel4.c +index e711958..53abf83 100644 +--- a/test/nptl/tst-cancel4.c ++++ b/test/nptl/tst-cancel4.c +@@ -83,7 +83,30 @@ static pthread_barrier_t b2; + # define IPC_ADDVAL 0 + #endif + +-#define WRITE_BUFFER_SIZE 4096 ++/* The WRITE_BUFFER_SIZE value needs to be chosen such that if we set ++ the socket send buffer size to '1', a write of this size on that ++ socket will block. ++ ++ The Linux kernel imposes a minimum send socket buffer size which ++ has changed over the years. As of Linux 3.10 the value is: ++ ++ 2 * (2048 + SKB_DATA_ALIGN(sizeof(struct sk_buff))) ++ ++ which is attempting to make sure that with standard MTUs, ++ TCP can always queue up at least 2 full sized packets. ++ ++ Furthermore, there is logic in the socket send paths that ++ will allow one more packet (of any size) to be queued up as ++ long as some socket buffer space remains. Blocking only ++ occurs when we try to queue up a new packet and the send ++ buffer space has already been fully consumed. ++ ++ Therefore we must set this value to the largest possible value of ++ the formula above (and since it depends upon the size of "struct ++ sk_buff", it is dependent upon machine word size etc.) plus some ++ slack space. */ ++ ++#define WRITE_BUFFER_SIZE 16384 + + /* Cleanup handling test. */ + static int cl_called; +@@ -758,7 +781,6 @@ tf_sigpause (void *arg) + + pthread_cleanup_push (cl, NULL); + +- /* Just for fun block the cancellation signal. */ + sigpause (SIGCANCEL); + + pthread_cleanup_pop (0); +-- +1.8.5.2 (Apple Git-48) + diff --git a/toolchain/uclibc/patches/0.9.34-git/0006-do-not-depend-on-compile.patch b/toolchain/uclibc/patches/0.9.34-git/0006-do-not-depend-on-compile.patch new file mode 100644 index 000000000..4abda2a61 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0006-do-not-depend-on-compile.patch @@ -0,0 +1,30 @@ +From 57bf7df9baa14152357e67ef0db23b817d083dbf Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb +Date: Wed, 20 Aug 2014 20:32:38 +0200 +Subject: [PATCH 6/6] do not depend on compile + +When you cross-compile the testsuite and then try to run +on a system without gcc/binutils it would be nice if no compiling +or linking is tried. + +Signed-off-by: Waldemar Brodkorb +--- + test/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/Makefile b/test/Makefile +index b759bf9..787c530 100644 +--- a/test/Makefile ++++ b/test/Makefile +@@ -45,7 +45,7 @@ endif + + test check all: run + +-run: compile subdirs_run ++run: subdirs_run + + compile: $(top_builddir)$(LOCAL_INSTALL_PATH) subdirs_compile + +-- +1.8.5.2 (Apple Git-48) + -- cgit v1.2.3