Re: Question: Does uclibc support NPTL TLS ?

Khem Raj <[email protected]> Wed, 27 May 2015 19:00:34 -0700
Newsgroups gmane.comp.lib.uclibc.general
Message-ID <[email protected]>
> On May 27, 2015, at 6:21 PM, Sheng Yong <[email protected]> wrote:
> 
> Hi,
> 
> On 5/28/2015 3:18 AM, Rich Felker wrote:
>> On Wed, May 27, 2015 at 05:10:53PM +0800, Sheng Yong wrote:
>>> Hi,
>>> 
>>> I encountered a problem when I test thread local storage
>>> on my arm board (kernel 3.10.77 and uclibc 0.99.3.2).
>>> 
>>> Please let me know if I am doing something wrong for
>>> debugging TLS.
>>> 
>>> on my x86 host machine:
>>> root@kernel-host:~> cat tls.c
>>> __thread int i =5;
>>> 
>>> int
>>> main (int argc, char **argv)
>>> {
>>>  return 0;
>>> }
>>> 
>>> root@kernel-host:~> arm-linux-uclibceabi-gcc -o tls tls.c -g -lpthread
>> 
>> If you add output (printf("%d", i)) to the program and actually run
>> it, does it work? It looks to me like the failure you're observing is
>> the inability of gdb to find the TLS while debugging, which is
>> separate from whether TLS is supported.
> I test it, it can printf the value of `i'. I don't know if there are any options
> that impact on gcc or gdb. I checked the configure log and compile log, there is
> no optins `-disable-tls' or `-no-tls' or the like.
> 
> $ cat tls.c
> #include <stdio.h>
> 
> __thread int i =5;
> 
> int
> main (int argc, char **argv)
> {
> 	printf("%d\n", i);
> 	return 0;
> }
> 
> sh-4.2# ./tls
> 5
> 

Seems like gdb is not able to comprehend the TLS structure that uclibc is putting. So you need to investigate
that part, either gdb or libthread-db may be where the issue lies.

> thanks,
> Sheng
> 
>> 
>> Rich
>> 
>> 
> 
> _______________________________________________
> uClibc mailing list
> [email protected]
> http://lists.busybox.net/mailman/listinfo/uclibc

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc
signature.asc (application/pgp-signature, 204 B)
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iEYEARECAAYFAlVmdsYACgkQuwUzVZGdMxQyzACgi0fa35oRviYkWg45TXD+4TF8
j+UAnA/C1+G01va+owXXC+2XsX62k4FI
=DMXv
-----END PGP SIGNATURE-----