summaryrefslogtreecommitdiff
path: root/toolchain/uclibc/patches
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2014-09-09 18:44:40 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2014-09-09 18:44:40 +0200
commit3ac37c8cfdbf621f223cbce7115ceb3306ad6f6a (patch)
tree7e554e20d68b6c86a904f1046db3b12ae6ba6c40 /toolchain/uclibc/patches
parent8b23c79cdbb0195042bc8dce0a3f293bade7edd3 (diff)
sync latest uClibc patches
Diffstat (limited to 'toolchain/uclibc/patches')
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch4
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch114
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0003-linuxthreads-remove-unused-s390-code.patch1347
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0004-disable-tests-if-HAVE_SHARED-is-not-set.patch4
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0005-disable-tests-for-arc-as-long-as-binutils-is-buggy.patch28
-rw-r--r--toolchain/uclibc/patches/0.9.34-git/0006-arm-add-RESET_PID-in-the-clone-impl.patch170
6 files changed, 1642 insertions, 25 deletions
diff --git a/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch b/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch
index ce7ba02f7..9765e8bbc 100644
--- a/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch
+++ b/toolchain/uclibc/patches/0.9.34-git/0001-test-disable-posix_fallocate64-for-small-embedded-sy.patch
@@ -1,7 +1,7 @@
-From d167545f3578d560e0c3818ac9657a34fead9812 Mon Sep 17 00:00:00 2001
+From 54cef0956a1e85add7c6998f95abffa9362be85e Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Mon, 1 Sep 2014 21:02:19 +0200
-Subject: [PATCH 1/2] test: disable posix_fallocate64 for small embedded
+Subject: [PATCH 1/6] test: disable posix_fallocate64 for small embedded
systems
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
diff --git a/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch b/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch
index 85fb76650..779498832 100644
--- a/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch
+++ b/toolchain/uclibc/patches/0.9.34-git/0002-nptl-remove-duplicate-vfork-in-libpthread.patch
@@ -1,7 +1,7 @@
-From 539fe3a7cc5439d01499765008751f8d17ca5ede Mon Sep 17 00:00:00 2001
+From d4ebeb637a050717642a0f270b3b0dd61f046705 Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@openadk.org>
Date: Thu, 4 Sep 2014 15:23:36 +0200
-Subject: [PATCH 2/2] nptl: remove duplicate vfork() in libpthread
+Subject: [PATCH 2/6] nptl: remove duplicate vfork() in libpthread
Automatic patching via two oneliners by Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>:
sed -i -e 's/[[:space:]]pt-vfork\.[csS]//' $(git grep -l pt-vfork libpthread/nptl/sysdeps)
@@ -11,27 +11,27 @@ Reported-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
.../nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S | 42 --------------
- .../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch | 2 +-
+ .../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S | 7 ---
- .../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 2 +-
+ .../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S | 37 ------------
- .../sysdeps/unix/sysv/linux/i386/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/i386/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S | 67 ----------------------
- .../sysdeps/unix/sysv/linux/metag/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/metag/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S | 51 ----------------
- .../sysdeps/unix/sysv/linux/mips/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/mips/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S | 37 ------------
- .../sysdeps/unix/sysv/linux/powerpc/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/powerpc/Makefile.arch | 3 +-
.../unix/sysv/linux/powerpc/powerpc32/pt-vfork.S | 48 ----------------
.../unix/sysv/linux/powerpc/powerpc64/pt-vfork.S | 48 ----------------
.../sysdeps/unix/sysv/linux/powerpc/pt-vfork.S | 5 --
- .../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch | 2 +-
+ .../nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S | 64 ---------------------
- .../sysdeps/unix/sysv/linux/sparc/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/sparc/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S | 44 --------------
- .../sysdeps/unix/sysv/linux/x86_64/Makefile.arch | 2 +-
+ .../sysdeps/unix/sysv/linux/x86_64/Makefile.arch | 3 +-
.../nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S | 32 -----------
- 21 files changed, 9 insertions(+), 491 deletions(-)
+ 21 files changed, 9 insertions(+), 500 deletions(-)
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/alpha/pt-vfork.S
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S
@@ -94,7 +94,7 @@ index a6005c1..0000000
-
-weak_alias (__vfork, vfork)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
-index 25e6fad..3c82f0a 100644
+index 25e6fad..658aa6c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
@@ -5,7 +5,7 @@
@@ -106,6 +106,14 @@ index 25e6fad..3c82f0a 100644
libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \
pt-__syscall_rt_sigaction.c pt-__syscall_error.c
+@@ -17,7 +17,6 @@ CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
+
+ ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
+ ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/pt-vfork.S
deleted file mode 100644
index f222dca..0000000
@@ -120,7 +128,7 @@ index f222dca..0000000
-
-#include "vfork.S"
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
-index 329d8a9..1b0282d 100644
+index 329d8a9..6f05b7d 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
@@ -5,7 +5,7 @@
@@ -132,6 +140,14 @@ index 329d8a9..1b0282d 100644
libpthread_linux_arch_CSRC = pthread_once.c \
pt-__syscall_rt_sigaction.c pt-__syscall_error.c \
lowlevellock.c
+@@ -19,7 +19,6 @@ CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -marm
+
+ ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
+ CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/pt-vfork.S
deleted file mode 100644
index df18f03..0000000
@@ -176,7 +192,7 @@ index df18f03..0000000
-
-#include "../../../../../../../libc/sysdeps/linux/arm/vfork.S"
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
-index 9a34595..98e2ae7 100644
+index 9a34595..94fc03a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/Makefile.arch
@@ -5,7 +5,7 @@
@@ -188,6 +204,14 @@ index 9a34595..98e2ae7 100644
libpthread_linux_arch_CSRC = pthread_spin_init.c pt-__syscall_error.c
libc_linux_arch_CSRC = fork.c
+@@ -14,7 +14,6 @@ libc_linux_arch_SSRC = clone.S vfork.S
+ ASFLAGS += -DUSE___THREAD
+
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-lowlevelrobustlock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pt-vfork.S
deleted file mode 100644
index 5bba782..0000000
@@ -262,7 +286,7 @@ index 5bba782..0000000
-
-weak_alias (__vfork, vfork)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
-index df98875..a4dc4ab 100644
+index df98875..99dec6b 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
@@ -5,7 +5,7 @@
@@ -274,6 +298,14 @@ index df98875..a4dc4ab 100644
libpthread_linux_arch_CSRC = pthread_once.c \
pt-__syscall_rt_sigaction.c pt-__syscall_error.c \
lowlevellock.c
+@@ -22,7 +22,6 @@ CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+ ASFLAGS-vfork.S = -DIS_IN_libc -DNOT_IN_libpthread
+ ASFLAGS-clone.S = -DIS_IN_libc -DNOT_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
+
+ ifeq ($(UCLIBC_HAS_STDIO_FUTEXES),y)
+ CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/pt-vfork.S
deleted file mode 100644
index 489c749..0000000
@@ -332,7 +364,7 @@ index 489c749..0000000
-
-#include <../../../../../../../libc/sysdeps/linux/metag/vfork.S>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
-index fc26a8e..cfe2861 100644
+index fc26a8e..a453b6b 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
@@ -5,7 +5,7 @@
@@ -344,6 +376,14 @@ index fc26a8e..cfe2861 100644
libpthread_linux_arch_CSRC = pthread_once.c pt-__syscall_rt_sigaction.c
libc_linux_arch_CSRC = fork.c
+@@ -21,7 +21,6 @@ CFLAGS-fork.c = -D__USE_STDIO_FUTEXES__
+ endif
+ CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_rt_sigaction.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread
+
+ ASFLAGS-clone.S = -D_LIBC_REENTRANT
+ ASFLAGS-vfork.S = -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-vfork.S
deleted file mode 100644
index 52fbde3..0000000
@@ -388,7 +428,7 @@ index 52fbde3..0000000
-
-#include <../../../../../../../libc/sysdeps/linux/mips/vfork.S>
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
-index 8581aea..0aa285e 100644
+index 8581aea..215c2aa 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile.arch
@@ -5,7 +5,7 @@
@@ -400,6 +440,14 @@ index 8581aea..0aa285e 100644
libpthread_linux_arch_CSRC = pthread_once.c pt-__syscall_error.c
libc_linux_arch_CSRC = fork.c
+@@ -19,7 +19,6 @@ ASFLAGS += -DUSE___THREAD
+ CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ #ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+
+ #ASFLAGS-libc-lowlevellock.S = -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
deleted file mode 100644
index 2f82504..0000000
@@ -520,7 +568,7 @@ index 0225219..0000000
-# include "powerpc32/pt-vfork.S"
-#endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
-index a8249e0..a0c008b 100644
+index a8249e0..9ebbda5 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/Makefile.arch
@@ -5,7 +5,7 @@
@@ -532,6 +580,14 @@ index a8249e0..a0c008b 100644
pthread_rwlock_rdlock.S pthread_rwlock_unlock.S \
lowlevellock.S lowlevelrobustlock.S pthread_barrier_wait.S \
pthread_cond_broadcast.S pthread_cond_signal.S \
+@@ -17,7 +17,6 @@ libc_linux_arch_SSRC = libc-lowlevellock.S clone.S vfork.S
+
+ ASFLAGS += -DUSE___THREAD
+
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-pthread_once.S = -D_LIBC_REENTRANT
+ ASFLAGS-pthread_rwlock_wrlock.S = -D_LIBC_REENTRANT
+ ASFLAGS-pthread_rwlock_rdlock.S = -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sh/pt-vfork.S
deleted file mode 100644
index 56aa6d0..0000000
@@ -603,7 +659,7 @@ index 56aa6d0..0000000
-
-weak_alias (__vfork, vfork)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
-index 102c0da..8329885 100644
+index 102c0da..aedad2c 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/Makefile.arch
@@ -5,7 +5,7 @@
@@ -615,6 +671,14 @@ index 102c0da..8329885 100644
libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \
pthread_barrier_init.c pthread_barrier_wait.c pthread_barrier_destroy.c \
pt-__syscall_error.c
+@@ -17,7 +17,6 @@ librt_linux_arch_CSRC = pt-__syscall_error.c
+
+ ASFLAGS += -DUSE___THREAD
+
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ CFLAGS-pthread_once.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-lowlevellock.c = -DNOT_IN_libc -DIS_IN_libpthread
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/sparc/pt-vfork.S
deleted file mode 100644
index 37231a8..0000000
@@ -666,7 +730,7 @@ index 37231a8..0000000
-
-weak_alias (__vfork, vfork)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
-index 71df986..10fa3cf 100644
+index 71df986..7c2505f 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/Makefile.arch
@@ -5,7 +5,7 @@
@@ -678,6 +742,14 @@ index 71df986..10fa3cf 100644
lowlevellock.S pthread_barrier_wait.S pthread_cond_signal.S pthread_cond_broadcast.S \
sem_post.S sem_timedwait.S lowlevelrobustlock.S \
sem_trywait.S sem_wait.S pthread_rwlock_rdlock.S pthread_rwlock_wrlock.S \
+@@ -21,7 +21,6 @@ librt_linux_arch_SSRC = librt-cancellation.S
+ ASFLAGS += -DUSE___THREAD
+
+ CFLAGS-pt-__syscall_error.c = -DNOT_IN_libc -DIS_IN_libpthread
+-ASFLAGS-pt-vfork.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-lowlevellock.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-pthread_once.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
+ ASFLAGS-cancellation.S = -DNOT_IN_libc -DIS_IN_libpthread -D_LIBC_REENTRANT
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S b/libpthread/nptl/sysdeps/unix/sysv/linux/x86_64/pt-vfork.S
deleted file mode 100644
index 08a085c..0000000
diff --git a/toolchain/uclibc/patches/0.9.34-git/0003-linuxthreads-remove-unused-s390-code.patch b/toolchain/uclibc/patches/0.9.34-git/0003-linuxthreads-remove-unused-s390-code.patch
new file mode 100644
index 000000000..cbefd471a
--- /dev/null
+++ b/toolchain/uclibc/patches/0.9.34-git/0003-linuxthreads-remove-unused-s390-code.patch
@@ -0,0 +1,1347 @@
+From d72e888957d32984c56e19e43a3c3b41263c7bb4 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Sat, 6 Sep 2014 14:45:42 +0200
+Subject: [PATCH 3/6] linuxthreads: remove unused s390 code
+
+Cleanup linuxthreads by removing unused s390 code.
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+---
+ libc/stdlib/system.c | 3 -
+ libpthread/linuxthreads/sysdeps/s390/pspinlock.c | 90 ------------
+ .../linuxthreads/sysdeps/s390/s390-32/pt-machine.h | 119 ----------------
+ .../linuxthreads/sysdeps/s390/s390-64/pt-machine.h | 124 -----------------
+ .../linuxthreads/sysdeps/s390/tcb-offsets.sym | 4 -
+ libpthread/linuxthreads/sysdeps/s390/tls.h | 144 -------------------
+ .../sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 71 ----------
+ .../unix/sysv/linux/s390/s390-32/pt-initfini.c | 153 ---------------------
+ .../unix/sysv/linux/s390/s390-32/sysdep-cancel.h | 136 ------------------
+ .../sysdeps/unix/sysv/linux/s390/s390-32/vfork.S | 68 ---------
+ .../unix/sysv/linux/s390/s390-64/pt-initfini.c | 136 ------------------
+ .../unix/sysv/linux/s390/s390-64/pt-sigsuspend.c | 1 -
+ .../unix/sysv/linux/s390/s390-64/sysdep-cancel.h | 115 ----------------
+ .../sysdeps/unix/sysv/linux/s390/s390-64/vfork.S | 53 -------
+ 14 files changed, 1217 deletions(-)
+ delete mode 100644 libpthread/linuxthreads/sysdeps/s390/pspinlock.c
+ delete mode 100644 libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
+ delete mode 100644 libpthread/linuxthreads/sysdeps/s390/tls.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/pt-initfini.c
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-32/vfork.S
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-initfini.c
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/pt-sigsuspend.c
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
+ delete mode 100644 libpthread/linuxthreads/sysdeps/unix/sysv/linux/s390/s390-64/vfork.S
+
+diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c
+index 8c5d25d..05b6738 100644
+--- a/libc/stdlib/system.c
++++ b/libc/stdlib/system.c
+@@ -91,9 +91,6 @@ libc_hidden_proto(waitpid)
+ #elif defined __sparc__
+ # define FORK() \
+ INLINE_CLONE_SYSCALL (CLONE_PARENT_SETTID | SIGCHLD, 0, &pid, NULL, NULL)
+-#elif defined __s390__
+-# define FORK() \
+- INLINE_SYSCALL (clone, 3, 0, CLONE_PARENT_SETTID | SIGCHLD, &pid)
+ #else
+ # define FORK() \
+ INLINE_SYSCALL (clone, 3, CLONE_PARENT_SETTID | SIGCHLD, 0, &pid)
+diff --git a/libpthread/linuxthreads/sysdeps/s390/pspinlock.c b/libpthread/linuxthreads/sysdeps/s390/pspinlock.c
+deleted file mode 100644
+index be75786..0000000
+--- a/libpthread/linuxthreads/sysdeps/s390/pspinlock.c
++++ /dev/null
+@@ -1,90 +0,0 @@
+-/* POSIX spinlock implementation. S/390 version.
+- Copyright (C) 2000, 2004 Free Software Foundation, Inc.
+- Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public License as
+- published by the Free Software Foundation; either version 2.1 of the
+- License, or (at your option) any later version.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; see the file COPYING.LIB. If
+- not, see <http://www.gnu.org/licenses/>. */
+-
+-#include <errno.h>
+-#include <pthread.h>
+-#include "internals.h"
+-
+-/* This implementation is similar to the one used in the Linux kernel.
+- But the kernel is byte instructions for the memory access. This is
+- faster but unusable here. The problem is that only 128
+- threads/processes could use the spinlock at the same time. If (by
+- a design error in the program) a thread/process would hold the
+- spinlock for a time long enough to accumulate 128 waiting
+- processes, the next one will find a positive value in the spinlock
+- and assume it is unlocked. We cannot accept that. */
+-
+-int
+-__pthread_spin_lock (pthread_spinlock_t *lock)
+-{
+- __asm__ __volatile__(" basr 1,0\n"
+- "0: slr 0,0\n"
+- " cs 0,1,%1\n"
+- " jl 0b\n"
+- : "=m" (*lock)
+- : "m" (*lock) : "0", "1", "cc" );
+- return 0;
+-}
+-weak_alias (__pthread_spin_lock, pthread_spin_lock)
+-
+-int
+-__pthread_spin_trylock (pthread_spinlock_t *lock)
+-{
+- int oldval;
+-
+- __asm__ __volatile__(" slr %1,%1\n"
+- " basr 1,0\n"
+- "0: cs %1,1,%0"
+- : "=m" (*lock), "=&d" (oldval)
+- : "m" (*lock) : "1", "cc" );
+- return oldval == 0 ? 0 : EBUSY;
+-}
+-weak_alias (__pthread_spin_trylock, pthread_spin_trylock)
+-
+-
+-int
+-__pthread_spin_unlock (pthread_spinlock_t *lock)
+-{
+- __asm__ __volatile__(" xc 0(4,%0),0(%0)\n"
+- " bcr 15,0"
+- : : "a" (lock) : "memory" );
+- return 0;
+-}
+-weak_alias (__pthread_spin_unlock, pthread_spin_unlock)
+-
+-
+-int
+-__pthread_spin_init (pthread_spinlock_t *lock, int pshared)
+-{
+- /* We can ignore the `pshared' parameter. Since we are busy-waiting
+- all processes which can access the memory location `lock' points
+- to can use the spinlock. */
+- *lock = 0;
+- return 0;
+-}
+-weak_alias (__pthread_spin_init, pthread_spin_init)
+-
+-
+-int
+-__pthread_spin_destroy (pthread_spinlock_t *lock)
+-{
+- /* Nothing to do. */
+- return 0;
+-}
+-weak_alias (__pthread_spin_destroy, pthread_spin_destroy)
+diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+deleted file mode 100644
+index 51505a9..0000000
+--- a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
++++ /dev/null
+@@ -1,119 +0,0 @@
+-/* Machine-dependent pthreads configuration and inline functions.
+- S390 version.
+- Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+- Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public License as
+- published by the Free Software Foundation; either version 2.1 of the
+- License, or (at your option) any later version.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; see the file COPYING.LIB. If
+- not, see <http://www.gnu.org/licenses/>. */
+-
+-#ifndef _PT_MACHINE_H
+-#define _PT_MACHINE_H 1
+-
+-#ifndef PT_EI
+-# define PT_EI __extern_always_inline
+-#endif
+-
+-extern long int testandset (int *spinlock);
+-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
+-
+-/* For multiprocessor systems, we want to ensure all memory accesses
+- are completed before we reset a lock. On other systems, we still
+- need to make sure that the compiler has flushed everything to memory. */
+-#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
+-
+-/* Spinlock implementation; required. */
+-PT_EI long int
+-testandset (int *spinlock)
+-{
+- int ret;
+-
+- __asm__ __volatile__(
+- " la 1,%1\n"
+- " lhi 0,1\n"
+- " l %0,%1\n"
+- "0: cs %0,0,0(1)\n"
+- " jl 0b"
+- : "=&d" (ret), "+m" (*spinlock)
+- : : "0", "1", "cc");
+-
+- return ret;
+-}
+-
+-
+-/* Get some notion of the current stack. Need not be exactly the top
+- of the stack, just something somewhere in the current frame. */
+-#define CURRENT_STACK_FRAME stack_pointer
+-register char * stack_pointer __asm__ ("15");
+-
+-#ifdef __UCLIBC_HAS_TLS__
+-/* Return the thread descriptor for the current thread. */
+-# define THREAD_SELF ((pthread_descr) __builtin_thread_pointer ())
+-
+-/* Initialize the thread-unique value. */
+-#define INIT_THREAD_SELF(descr, nr) __builtin_set_thread_pointer (descr)
+-#else
+-/* Return the thread descriptor for the current thread.
+- S/390 registers uses access register 0 as "thread register". */
+-#define THREAD_SELF ({ \
+- register pthread_descr __self; \
+- __asm__ ("ear %0,%%a0" : "=d" (__self) ); \
+- __self; \
+-})
+-
+-/* Initialize the thread-unique value. */
+-#define INIT_THREAD_SELF(descr, nr) ({ \
+- __asm__ ("sar %%a0,%0" : : "d" (descr) ); \
+-})
+-#endif
+-
+-/* Access to data in the thread descriptor is easy. */
+-#define THREAD_GETMEM(descr, member) \
+- ((void) sizeof (descr), THREAD_SELF->member)
+-#define THREAD_GETMEM_NC(descr, member) \
+- ((void) sizeof (descr), THREAD_SELF->member)
+-#define THREAD_SETMEM(descr, member, value) \
+- ((void) sizeof (descr), THREAD_SELF->member = (value))
+-#define THREAD_SETMEM_NC(descr, member, value) \
+- ((void) sizeof (descr), THREAD_SELF->member = (value))
+-
+-/* We want the OS to assign stack addresses. */
+-#define FLOATING_STACKS 1
+-
+-/* Maximum size of the stack if the rlimit is unlimited. */
+-#define ARCH_STACK_MAX_SIZE 8*1024*1024
+-
+-/* Compare-and-swap for semaphores. */
+-
+-#define HAS_COMPARE_AND_SWAP
+-
+-PT_EI int
+-__compare_and_swap(long int *p, long int oldval, long int newval)
+-{
+- int retval;
+-
+- __asm__ __volatile__(
+- " la 1,%1\n"
+- " lr 0,%2\n"
+- " cs 0,%3,0(1)\n"
+- " ipm %0\n"
+- " srl %0,28\n"
+- "0:"
+- : "=&d" (retval), "+m" (*p)
+- : "d" (oldval) , "d" (newval)
+- : "cc", "0", "1" );
+- return retval == 0;
+-}
+-
+-#endif /* pt-machine.h */
+diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+deleted file mode 100644
+index 4bff85a..0000000
+--- a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
++++ /dev/null
+@@ -1,124 +0,0 @@
+-/* Machine-dependent pthreads configuration and inline functions.
+- 64 bit S/390 version.
+- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+- Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public License as
+- published by the Free Software Foundation; either version 2.1 of the
+- License, or (at your option) any later version.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; see the file COPYING.LIB. If
+- not, see <http://www.gnu.org/licenses/>. */
+-
+-#ifndef _PT_MACHINE_H
+-#define _PT_MACHINE_H 1
+-
+-#ifndef PT_EI
+-# define PT_EI __extern_always_inline
+-#endif
+-
+-extern long int testandset (int *spinlock);
+-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
+-
+-/* For multiprocessor systems, we want to ensure all memory accesses
+- are completed before we reset a lock. On other systems, we still
+- need to make sure that the compiler has flushed everything to memory. */
+-#define MEMORY_BARRIER() __asm__ __volatile__ ("bcr 15,0" : : : "memory")
+-
+-/* Spinlock implementation; required. */
+-PT_EI long int
+-testandset (int *spinlock)
+-{
+- int ret;
+-
+- __asm__ __volatile__(
+- " la 1,%1\n"
+- " lhi 0,1\n"
+- " l %0,%1\n"
+- "0: cs %0,0,0(1)\n"
+- " jl 0b"
+- : "=&d" (ret), "+m" (*spinlock)
+- : : "0", "1", "cc");
+-
+- return ret;
+-}
+-
+-
+-/* Get some notion of the current stack. Need not be exactly the top
+- of the stack, just something somewhere in the current frame. */
+-#define CURRENT_STACK_FRAME stack_pointer
+-register char * stack_pointer __asm__ ("15");
+-
+-#ifdef __UCLIBC_HAS_TLS__
+-/* Return the thread descriptor for the current thread. */
+-# define THREAD_SELF ((pthread_descr) __builtin_thread_pointer ())
+-
+-/* Initialize the thread-unique value. */
+-#define INIT_THREAD_SELF(descr, nr) __builtin_set_thread_pointer (descr)
+-#else
+-/* Return the thread descriptor for the current thread.
+- 64 bit S/390 uses access register 0 and 1 as "thread register". */
+-#define THREAD_SELF ({ \
+- register pthread_descr __self; \
+- __asm__ (" ear %0,%%a0\n" \
+- " sllg %0,%0,32\n" \
+- " ear %0,%%a1\n" \
+- : "=d" (__self) ); \
+- __self; \
+-})
+-
+-/* Initialize the thread-unique value. */
+-#define INIT_THREAD_SELF(descr, nr) ({ \
+- __asm__ (" sar %%a1,%0\n" \
+- " srlg 0,%0,32\n" \
+- " sar %%a0,0\n" \
+- : : "d" (descr) : "0" ); \
+-})
+-#endif
+-
+-/* Access to data in the thread descriptor is easy. */
+-#define THREAD_GETMEM(descr, member) \
+- ((void) sizeof (descr), THREAD_SELF->member)
+-#define THREAD_GETMEM_NC(descr, member) \
+- ((void) sizeof (descr), THREAD_SELF->member)
+-#define THREAD_SETMEM(descr, member, value) \
+- ((void) sizeof (descr), THREAD_SELF->member = (value))
+-#define THREAD_SETMEM_NC(descr, member, value) \
+- ((void) sizeof (descr), THREAD_SELF->member = (value))
+-
+-/* We want the OS to assign stack addresses. */
+-#define FLOATING_STACKS 1
+-
+-/* Maximum size of the stack if the rlimit is unlimited. */
+-#define ARCH_STACK_MAX_SIZE 8*1024*1024
+-
+-/* Compare-and-swap for semaphores. */
+-
+-#define HAS_COMPARE_AND_SWAP
+-
+-PT_EI int
+-__compare_and_swap(long int *p, long int oldval, long int newval)
+-{
+- int retval;
+-
+- __asm__ __volatile__(
+- " lgr 0,%2\n"
+- " csg 0,%3,%1\n"
+- " ipm %0\n"
+- " srl %0,28\n"
+- "0:"
+- : "=&d" (retval), "+m" (*p)
+- : "d" (oldval) , "d" (newval)
+- : "cc", "0");
+- return retval == 0;
+-}
+-
+-#endif /* pt-machine.h */
+diff --git a/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym b/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
+deleted file mode 100644
+index aee6be2..0000000
+--- a/libpthread/linuxthreads/sysdeps/s390/tcb-offsets.sym
++++ /dev/null
+@@ -1,4 +0,0 @@
+-#include <sysdep.h>
+-#include <tls.h>
+-
+-MULTIPLE_THREADS_OFFSET offsetof (tcbhead_t, multiple_threads)
+diff --git a/libpthread/linuxthreads/sysdeps/s390/tls.h b/libpthread/linuxthreads/sysdeps/s390/tls.h
+deleted file mode 100644
+index d987bdb..0000000
+--- a/libpthread/linuxthreads/sysdeps/s390/tls.h
++++ /dev/null
+@@ -1,144 +0,0 @@
+-/* Definitions for thread-local data handling. linuxthreads/s390 version.
+- Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+- This file is part of the GNU C Library.
+-
+- The GNU C Library is free software; you can redistribute it and/or
+- modify it under the terms of the GNU Lesser General Public
+- License as published by the Free Software Foundation; either
+- version 2.1 of the License, or (at your option) any later version.
+-
+- The GNU C Library is distributed in the hope that it will be useful,
+- but WITHOUT ANY WARRANTY; without even the implied warranty of
+- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- Lesser General Public License for more details.
+-
+- You should have received a copy of the GNU Lesser General Public
+- License along with the GNU C Library; if not, see
+- <http://www.gnu.org/licenses/>. */
+-
+-#ifndef _TLS_H
+-#define _TLS_H
+-
+-#ifndef __ASSEMBLER__
+-
+-# include <pt-machine.h>
+-# include <stdbool.h>
+-# include <stddef.h>
+-
+-/* Type for the dtv. */
+-typedef union dtv
+-{
+- size_t counter;
+- struct
+- {
+- void *val;
+- bool is_static;
+- } pointer;
+-} dtv_t;
+-
+-typedef struct
+-{
+- void *tcb; /* Pointer to the TCB. Not necessary the
+- thread descriptor used by libpthread. */
+- dtv_t *dtv;
+- void *self; /* Pointer to the thread descriptor. */
+- int multiple_threads;
+-} tcbhead_t;
+-
+-#else /* __ASSEMBLER__ */
+-# include <tcb-offsets.h>
+-#endif /* __ASSEMBLER__ */
+-
+-/* TLS is always supported if the tools support it. There are no
+- kernel dependencies. To avoid bothering with the TLS support code
+- at all, use configure --without-tls.
+-
+- We need USE_TLS to be consistently defined, for ldsodefs.h
+- conditionals. */
+-
+-#ifdef HAVE_TLS_SUPPORT
+-
+-/* Signal that TLS support is available. */
+-# define USE_TLS 1
+-
+-# ifndef __ASSEMBLER__
+-/* Get system call information. */
+-# include <sysdep.h>
+-
+-
+-/* Get the thread descriptor definition. */
+-# include <linuxthreads/descr.h>
+-
+-/* This is the size of the initial TCB. */
+-# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
+-
+-/* Alignment requirements for the initial TCB. */
+-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
+-
+-/* This is the size of the TCB. */
+-# define TLS_TCB_SIZE sizeof (struct _pthread_descr_struct)
+-
+-/* Alignment requirements for the TCB. */
+-# define TLS_TCB_ALIGN __alignof__ (struct _pthread_descr_struct)
+-
+-/* The TCB can have any size and the memory following the address the
+- thread pointer points to is unspecified. Allocate the TCB there. */
+-# define TLS_TCB_AT_TP 1
+-
+-
+-/* Install the dtv pointer. The pointer passed is to the element with
+- index -1 which contain the length. */
+-# define INSTALL_DTV(descr, dtvp) \
+- ((tcbhead_t *) (descr))->dtv = (dtvp) + 1
+-
+-/* Install new dtv for current thread. */
+-# define INSTALL_NEW_DTV(dtv) \
+- (((tcbhead_t *) __builtin_thread_pointer ())->dtv = (dtv))
+-
+-/* Return dtv of given thread descriptor. */
+-# define GET_DTV(descr) \
+- (((tcbhead_t *) (descr))->dtv)
+-
+-/* Code to initially initialize the thread pointer. This might need
+- special attention since 'errno' is not yet available and if the
+- operation can cause a failure 'errno' must not be touched.
+-
+- The value of this macro is null if successful, or an error string. */
+-# define TLS_INIT_TP(descr, secondcall) \
+- ({ \
+- void *_descr = (descr); \
+- tcbhead_t *head = _descr; \
+- \
+- head->tcb = _descr; \
+- /* For now the thread descriptor is at the same address. */ \
+- head->self = _descr; \
+- \
+- __builtin_set_thread_pointer (_descr); \
+- NULL; \
+- })
+-
+-/* Return the address of the dtv for the current thread. */
+-# define THREAD_DTV() \
+- (((tcbhead_t *) __builtin_thread_pointer ())->dtv)
+-
+-# endif /* __ASSEMBLER__ */
+-
+-#else /* HAVE_TLS_SUPPORT && (FLOATING_STACKS || !IS_IN_libpthread) */
+-
+-# ifndef __ASSEMBLER__
+-
+-/* Get the thread descriptor definition. */
+-# include <linuxthreads/descr.h>
+-