[PATCH] fix errno location for non-TLS case

Peter Korsgaard jacmet at sunsite.dk
Thu Dec 1 15:36:48 UTC 2011


>>>>> "Andrew" == Andrew Rybchenko <Andrew.Rybchenko at oktetlabs.ru> writes:

Hi,

 Andrew> linuxthreads.old implementation just wraps libc socket calls like
 Andrew> recv() which set errno.
 Andrew> Since errno is set from libc call and libc_hidden_proto() is used for
 Andrew> __errno_location(),
 Andrew> libc version of the function is called and provides pointer to global
 Andrew> errno variable (not
 Andrew> thread-specific location).

 Andrew> Also it is important here that linuxthreads.old does not use
 Andrew> TLS. That's why I use
 Andrew> __UCLIBC_HAS_TLS__ conditional.

 Andrew> There is no such bug in 0.9.30.x.

Sounds related to:

https://bugs.busybox.net/show_bug.cgi?id=2089

-- 
Bye, Peter Korsgaard


More information about the uClibc mailing list