diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2012-11-01 14:30:03 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2012-11-01 14:30:03 +0000 |
commit | d36e402fae2b31ca2bf6eafbafa77d716ea99b15 (patch) | |
tree | 210dfab2f1478d522876b5d78531245393fce275 | |
parent | d4601330cffd7f0afebb906a7b985001f753aee4 (diff) | |
download | alpine_aports-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.tar.bz2 alpine_aports-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.tar.xz alpine_aports-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.zip |
main/libc0.9.32: dlclose fix
Issue reported here:
http://lists.uclibc.org/pipermail/uclibc/2012-October/047059.html
Patch is from Timo
-rw-r--r-- | main/libc0.9.32/APKBUILD | 4 | ||||
-rw-r--r-- | main/libc0.9.32/uclibc-dlclose-fix.patch | 14 |
2 files changed, 17 insertions, 1 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD index da7d6e18ce..88fa0bf64f 100644 --- a/main/libc0.9.32/APKBUILD +++ b/main/libc0.9.32/APKBUILD | |||
@@ -4,7 +4,7 @@ pkgname=libc$_abiver | |||
4 | _gitver= | 4 | _gitver= |
5 | pkgver=0.9.33.2 | 5 | pkgver=0.9.33.2 |
6 | _ver=${pkgver/_/-} | 6 | _ver=${pkgver/_/-} |
7 | pkgrel=12 | 7 | pkgrel=13 |
8 | pkgdesc="C library for developing embedded Linux systems" | 8 | pkgdesc="C library for developing embedded Linux systems" |
9 | url=http://uclibc.org | 9 | url=http://uclibc.org |
10 | license="LGPL-2" | 10 | license="LGPL-2" |
@@ -54,6 +54,7 @@ librt-re-add-SIGCANCEL-to-the-list-of-blocked-signal-in-helper-thread.patch | |||
54 | 54 | ||
55 | 0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch | 55 | 0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch |
56 | 0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch | 56 | 0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch |
57 | uclibc-dlclose-fix.patch | ||
57 | 58 | ||
58 | uclibcconfig.x86 | 59 | uclibcconfig.x86 |
59 | uclibcconfig.x86_64 | 60 | uclibcconfig.x86_64 |
@@ -191,6 +192,7 @@ f059f5e437ed4fe1b6973dd08972e583 0003-pread-pwrite-drop-fallback-funcs.patch | |||
191 | f41ab6cf22545d2e629d4c7107ac6f85 0009-sys-quota.h-sync-with-glibc.patch | 192 | f41ab6cf22545d2e629d4c7107ac6f85 0009-sys-quota.h-sync-with-glibc.patch |
192 | e5aceb82bf4ffd5328113af5380fcdb6 0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch | 193 | e5aceb82bf4ffd5328113af5380fcdb6 0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch |
193 | da043a65003ac29ca8b96f416e7752ee 0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch | 194 | da043a65003ac29ca8b96f416e7752ee 0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch |
195 | 8374c98e769e603af4adad12e01cf358 uclibc-dlclose-fix.patch | ||
194 | ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.x86 | 196 | ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.x86 |
195 | e861a17baa541accf4d4d39a98d74c32 uclibcconfig.x86_64 | 197 | e861a17baa541accf4d4d39a98d74c32 uclibcconfig.x86_64 |
196 | ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.i486 | 198 | ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.i486 |
diff --git a/main/libc0.9.32/uclibc-dlclose-fix.patch b/main/libc0.9.32/uclibc-dlclose-fix.patch new file mode 100644 index 0000000000..c99cd2526c --- /dev/null +++ b/main/libc0.9.32/uclibc-dlclose-fix.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | --- ./ldso/libdl/libdl.c.orig | ||
2 | +++ ./ldso/libdl/libdl.c | ||
3 | @@ -951,8 +951,8 @@ | ||
4 | |||
5 | dtv_t *dtv = THREAD_DTV (); | ||
6 | |||
7 | - _dl_assert(!(dtv[tls_lmap->l_tls_modid].pointer.is_static)); | ||
8 | - if (dtv[tls_lmap->l_tls_modid].pointer.val != TLS_DTV_UNALLOCATED) { | ||
9 | + if (!(dtv[tls_lmap->l_tls_modid].pointer.is_static) && | ||
10 | + dtv[tls_lmap->l_tls_modid].pointer.val != TLS_DTV_UNALLOCATED) { | ||
11 | /* Note that free is called for NULL is well. We | ||
12 | deallocate even if it is this dtv entry we are | ||
13 | supposed to load. The reason is that we call | ||
14 | |||