summaryrefslogtreecommitdiffstats
path: root/main/uclibc
diff options
context:
space:
mode:
Diffstat (limited to 'main/uclibc')
-rw-r--r--main/uclibc/APKBUILD4
-rw-r--r--main/uclibc/uclibc-linuxthreads-init-stdio.patch21
2 files changed, 24 insertions, 1 deletions
diff --git a/main/uclibc/APKBUILD b/main/uclibc/APKBUILD
index 40d9ca2d9..72b5648b3 100644
--- a/main/uclibc/APKBUILD
+++ b/main/uclibc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=uclibc
pkgver=0.9.30.2
-pkgrel=1
+pkgrel=2
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -26,6 +26,7 @@ source="http://uclibc.org/downloads/$_mynamever.tar.bz2
0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
0009-libm-enable-log2f-and-exp2f.patch
+ uclibc-linuxthreads-init-stdio.patch
pthread-new-aliasing-fix.diff
uclibc-resolv-cname-fix.diff
uclibc-i386-floating-stacks.diff
@@ -78,6 +79,7 @@ c78e19855a8a83f07855fe82ceaf9d21 0006-fstatat-fix-up-behavior-on-32-64-bit-host
d20abc16e2ce8579f77e42271008ff07 0007-Unbreak-build-for-sparc-on-some-config-s.patch
2438e999b21cfaf823139df05d06dd33 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch
0b2ed68cbd2e4bb2941155bdb1f0f9b0 0009-libm-enable-log2f-and-exp2f.patch
+152bd508303e110e660fa7935411b6df uclibc-linuxthreads-init-stdio.patch
969187e1da84d0a0a5957b392a3d5a2b pthread-new-aliasing-fix.diff
bbb8475963e791f596c34c81ef5583d7 uclibc-resolv-cname-fix.diff
ccf15714e089306c09d74a1a5c3cc670 uclibc-i386-floating-stacks.diff
diff --git a/main/uclibc/uclibc-linuxthreads-init-stdio.patch b/main/uclibc/uclibc-linuxthreads-init-stdio.patch
new file mode 100644
index 000000000..aa5ef6460
--- /dev/null
+++ b/main/uclibc/uclibc-linuxthreads-init-stdio.patch
@@ -0,0 +1,21 @@
+diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c
+index 6ae9a10..151e039 100644
+--- a/libpthread/linuxthreads/pthread.c
++++ b/libpthread/linuxthreads/pthread.c
+@@ -409,6 +409,16 @@ cannot allocate TLS data structures for initial thread\n";
+ #endif
+
+ __libc_multiple_threads_ptr = __libc_pthread_init (ptr_pthread_functions);
++ /* uClibc-specific stdio initialization for threads. */
++ {
++ FILE *fp;
++ _stdio_user_locking = 0; /* 2 if threading not initialized */
++ for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen) {
++ if (fp->__user_locking != 1) {
++ fp->__user_locking = 0;
++ }
++ }
++ }
+ }
+
+