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 /main/libc0.9.32/uclibc-dlclose-fix.patch | |
parent | d4601330cffd7f0afebb906a7b985001f753aee4 (diff) | |
download | aports-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/uclibc-dlclose-fix.patch')
-rw-r--r-- | main/libc0.9.32/uclibc-dlclose-fix.patch | 14 |
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 + |