diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2010-04-13 07:04:14 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2010-04-14 12:20:36 +0000 |
commit | daf17465a418f319f39f5f20291d50c976a2626c (patch) | |
tree | af098b08453dd374baac16a86b486508dab2eaf7 | |
parent | 58914bedccc5bce143471b21e909e85bd355bdb7 (diff) | |
download | alpine_aports-daf17465a418f319f39f5f20291d50c976a2626c.tar.bz2 alpine_aports-daf17465a418f319f39f5f20291d50c976a2626c.tar.xz alpine_aports-daf17465a418f319f39f5f20291d50c976a2626c.zip |
main/uclibc: linuxthreads stdio initialization
(cherry picked from commit 4fb971ce31073d9b670ab9243295290aecc38501)
-rw-r--r-- | main/uclibc/APKBUILD | 4 | ||||
-rw-r--r-- | main/uclibc/uclibc-linuxthreads-init-stdio.patch | 21 |
2 files changed, 24 insertions, 1 deletions
diff --git a/main/uclibc/APKBUILD b/main/uclibc/APKBUILD index 40d9ca2d94..72b5648b3b 100644 --- a/main/uclibc/APKBUILD +++ b/main/uclibc/APKBUILD | |||
@@ -1,7 +1,7 @@ | |||
1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> | 1 | # Maintainer: Natanael Copa <ncopa@alpinelinux.org> |
2 | pkgname=uclibc | 2 | pkgname=uclibc |
3 | pkgver=0.9.30.2 | 3 | pkgver=0.9.30.2 |
4 | pkgrel=1 | 4 | pkgrel=2 |
5 | pkgdesc="C library for developing embedded Linux systems" | 5 | pkgdesc="C library for developing embedded Linux systems" |
6 | url=http://uclibc.org | 6 | url=http://uclibc.org |
7 | license="LGPL-2" | 7 | license="LGPL-2" |
@@ -26,6 +26,7 @@ source="http://uclibc.org/downloads/$_mynamever.tar.bz2 | |||
26 | 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch | 26 | 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch |
27 | 0009-libm-enable-log2f-and-exp2f.patch | 27 | 0009-libm-enable-log2f-and-exp2f.patch |
28 | 28 | ||
29 | uclibc-linuxthreads-init-stdio.patch | ||
29 | pthread-new-aliasing-fix.diff | 30 | pthread-new-aliasing-fix.diff |
30 | uclibc-resolv-cname-fix.diff | 31 | uclibc-resolv-cname-fix.diff |
31 | uclibc-i386-floating-stacks.diff | 32 | uclibc-i386-floating-stacks.diff |
@@ -78,6 +79,7 @@ c78e19855a8a83f07855fe82ceaf9d21 0006-fstatat-fix-up-behavior-on-32-64-bit-host | |||
78 | d20abc16e2ce8579f77e42271008ff07 0007-Unbreak-build-for-sparc-on-some-config-s.patch | 79 | d20abc16e2ce8579f77e42271008ff07 0007-Unbreak-build-for-sparc-on-some-config-s.patch |
79 | 2438e999b21cfaf823139df05d06dd33 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch | 80 | 2438e999b21cfaf823139df05d06dd33 0008-malloc-fix-race-condition-and-other-bugs-in-the-no-m.patch |
80 | 0b2ed68cbd2e4bb2941155bdb1f0f9b0 0009-libm-enable-log2f-and-exp2f.patch | 81 | 0b2ed68cbd2e4bb2941155bdb1f0f9b0 0009-libm-enable-log2f-and-exp2f.patch |
82 | 152bd508303e110e660fa7935411b6df uclibc-linuxthreads-init-stdio.patch | ||
81 | 969187e1da84d0a0a5957b392a3d5a2b pthread-new-aliasing-fix.diff | 83 | 969187e1da84d0a0a5957b392a3d5a2b pthread-new-aliasing-fix.diff |
82 | bbb8475963e791f596c34c81ef5583d7 uclibc-resolv-cname-fix.diff | 84 | bbb8475963e791f596c34c81ef5583d7 uclibc-resolv-cname-fix.diff |
83 | ccf15714e089306c09d74a1a5c3cc670 uclibc-i386-floating-stacks.diff | 85 | 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 0000000000..aa5ef64600 --- /dev/null +++ b/main/uclibc/uclibc-linuxthreads-init-stdio.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c | ||
2 | index 6ae9a10..151e039 100644 | ||
3 | --- a/libpthread/linuxthreads/pthread.c | ||
4 | +++ b/libpthread/linuxthreads/pthread.c | ||
5 | @@ -409,6 +409,16 @@ cannot allocate TLS data structures for initial thread\n"; | ||
6 | #endif | ||
7 | |||
8 | __libc_multiple_threads_ptr = __libc_pthread_init (ptr_pthread_functions); | ||
9 | + /* uClibc-specific stdio initialization for threads. */ | ||
10 | + { | ||
11 | + FILE *fp; | ||
12 | + _stdio_user_locking = 0; /* 2 if threading not initialized */ | ||
13 | + for (fp = _stdio_openlist; fp != NULL; fp = fp->__nextopen) { | ||
14 | + if (fp->__user_locking != 1) { | ||
15 | + fp->__user_locking = 0; | ||
16 | + } | ||
17 | + } | ||
18 | + } | ||
19 | } | ||
20 | |||
21 | |||