This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/14545] Many tests fail when linking statically


http://sourceware.org/bugzilla/show_bug.cgi?id=14545

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-09-05 18:25:56 UTC ---
It crashes at

(gdb) bt
#0  malloc_printerr (action=3, str=0x4a3079 "free(): invalid pointer", 
    ptr=0x6da000 <static_dtv>) at malloc.c:4950
#1  0x0000000000444c01 in _dl_deallocate_tls (tcb=tcb@entry=0x6dd880, 
    dealloc_tcb=dealloc_tcb@entry=false) at dl-tls.c:483
#2  0x0000000000403110 in __deallocate_stack (pd=pd@entry=0x6dd880)
    at allocatestack.c:749
#3  0x0000000000403ea9 in __free_tcb (pd=pd@entry=0x6dd880)
    at pthread_create.c:224
#4  0x0000000000405178 in pthread_join (threadid=threadid@entry=7198848, 
    thread_return=thread_return@entry=0x7ffff7ffcd58) at pthread_join.c:113
#5  0x00000000004027cd in tf (arg=0x6dd880) at tst-cancel21.c:133
#6  0x0000000000403f8f in start_thread (arg=0x7ffff7ffd700)
    at pthread_create.c:308
#7  0x0000000000443c69 in clone ()
(gdb) p dtv
$2 = (dtv_t *) 0x6da010 <static_dtv+16>
(gdb) 

Since dtv comes from,

static dtv_t static_dtv[2 + TLS_SLOTINFO_SURPLUS];

in csu/libc-tls.c,

  /* The array starts with dtv[-1].  */
#ifdef SHARED
  if (dtv != GL(dl_initial_dtv))
#endif
    free (dtv - 1); 

is incorrect.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]