If more then one TLS model is used by a DSO, loading such a DSO w/out explicitly linking with the DSO leads to a heap corruption in __tls_get_addr. Reproduced with GLIBC 2.3.3, 2.3.4 on Linux 2.4, 2.6. Test case Run make debug
Created attachment 548 [details] Makefile
Created attachment 549 [details] DSO source
Created attachment 550 [details] Driver source
Works for me with current glibc.