summaryrefslogtreecommitdiffstats
path: root/main/libc0.9.32/uclibc-dlclose-fix.patch
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/uclibc-dlclose-fix.patch
parentd4601330cffd7f0afebb906a7b985001f753aee4 (diff)
downloadaports-fcolista-d36e402fae2b31ca2bf6eafbafa77d716ea99b15.tar.bz2
aports-fcolista-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/uclibc-dlclose-fix.patch')
-rw-r--r--main/libc0.9.32/uclibc-dlclose-fix.patch14
1 files changed, 14 insertions, 0 deletions
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 @@
+--- ./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
+