Question: Does uclibc support NPTL TLS ?

Sheng Yong shengyong1 at huawei.com
Thu May 28 01:21:58 UTC 2015


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 at kernel-host:~> cat tls.c
>> __thread int i =5;
>>
>> int
>> main (int argc, char **argv)
>> {
>>   return 0;
>> }
>>
>> root at 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

thanks,
Sheng

> 
> Rich
> 
> 



More information about the uClibc mailing list