On 01/11/2012 16.26, Natanael Copa wrote: > On Fri, Oct 5, 2012 at 1:46 PM, Natanael Copa <natanael.c...@gmail.com> wrote: >> building vlc will end up with a segfaulting ./vlc-cache-gen on x86_64. > ... >> Core was generated by >> `/home/ncopa/aports/main/vlc/src/vlc-2.0.3/bin/.libs/lt-vlc-cache-gen >> ../modules'. >> Program terminated with signal 11, Segmentation fault. >> #0 0x00007f9e5fc53e30 in free (mem=0x7f9e6056a668) >> at libc/stdlib/malloc-standard/free.c:324 >> 324 p->fd = *fb; >> (gdb) bt >> #0 0x00007f9e5fc53e30 in free (mem=0x7f9e6056a668) >> at libc/stdlib/malloc-standard/free.c:324 >> #1 0x00007f9e5f0843d6 in do_dlclose (vhandle=0x7f9e60ca7be0, need_fini=1) >> at ldso/libdl/libdl.c:960 >> #2 0x00007f9e5f084a47 in dlclose (vhandle=0x7f9e60ca7be0) >> at ldso/libdl/libdl.c:1063 >> #3 0x00007f9e5ff06e1c in module_Unload (handle=<optimized out>) >> at posix/plugin.c:89 > ... > > Does not seem like anybody really cares, but for the record, Timo > Teräs solved it with: > --- ./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 > > > Downloadable patch is available here: > http://git.alpinelinux.org/cgit/aports/plain/main/libc0.9.32/uclibc-dlclose-fix.patch >
Can we have a well git formed patch sent to this list, unless I've missed it ? Thanks, Carmelo > I have a relatively small testcase application that can reproduce it > (using vlc's plugins) > _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc