summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2012-11-01 14:30:03 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2012-11-01 14:30:03 +0000
commitd36e402fae2b31ca2bf6eafbafa77d716ea99b15 (patch)
tree210dfab2f1478d522876b5d78531245393fce275 /main/libc0.9.32
parentd4601330cffd7f0afebb906a7b985001f753aee4 (diff)
downloadaports-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.tar.bz2
aports-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.tar.xz
main/libc0.9.32: dlclose fix
Issue reported here: http://lists.uclibc.org/pipermail/uclibc/2012-October/047059.html Patch is from Timo
Diffstat (limited to 'main/libc0.9.32')
-rw-r--r--main/libc0.9.32/APKBUILD4
-rw-r--r--main/libc0.9.32/uclibc-dlclose-fix.patch14
2 files changed, 17 insertions, 1 deletions
diff --git a/main/libc0.9.32/APKBUILD b/main/libc0.9.32/APKBUILD
index da7d6e18c..88fa0bf64 100644
--- a/main/libc0.9.32/APKBUILD
+++ b/main/libc0.9.32/APKBUILD
@@ -4,7 +4,7 @@ pkgname=libc$_abiver
_gitver=
pkgver=0.9.33.2
_ver=${pkgver/_/-}
-pkgrel=12
+pkgrel=13
pkgdesc="C library for developing embedded Linux systems"
url=http://uclibc.org
license="LGPL-2"
@@ -54,6 +54,7 @@ librt-re-add-SIGCANCEL-to-the-list-of-blocked-signal-in-helper-thread.patch
0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch
0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch
+ uclibc-dlclose-fix.patch
uclibcconfig.x86
uclibcconfig.x86_64
@@ -191,6 +192,7 @@ f059f5e437ed4fe1b6973dd08972e583 0003-pread-pwrite-drop-fallback-funcs.patch
f41ab6cf22545d2e629d4c7107ac6f85 0009-sys-quota.h-sync-with-glibc.patch
e5aceb82bf4ffd5328113af5380fcdb6 0001-libc-sysdeps-get-make-set-swap-context-for-i386.patch
da043a65003ac29ca8b96f416e7752ee 0002-libc-sysdeps-add-get-make-set-swap-context-for-x86_6.patch
+8374c98e769e603af4adad12e01cf358 uclibc-dlclose-fix.patch
ce8a33a31f5a53031fbad8b1d1b66d44 uclibcconfig.x86
e861a17baa541accf4d4d39a98d74c32 uclibcconfig.x86_64
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 000000000..c99cd2526
--- /dev/null
+++ b/main/libc0.9.32/uclibc-dlclose-fix.patch
@@ -0,0 +1,14 @@
+--- ./ldso/libdl/libdl.c.orig
++++ ./ldso/libdl/libdl.c
+@@ -951,8 +951,8 @@
+
+ dtv_t *dtv = THREAD_DTV ();
+
+- _dl_assert(!(dtv[tls_lmap->l_tls_modid].pointer.is_static));
+- if (dtv[tls_lmap->l_tls_modid].pointer.val != TLS_DTV_UNALLOCATED) {
++ if (!(dtv[tls_lmap->l_tls_modid].pointer.is_static) &&
++ dtv[tls_lmap->l_tls_modid].pointer.val != TLS_DTV_UNALLOCATED) {
+ /* Note that free is called for NULL is well. We
+ deallocate even if it is this dtv entry we are
+ supposed to load. The reason is that we call
+