Hi Peter,

On 12/01/2011 07:36 PM, Peter Korsgaard wrote:
"Andrew" == Andrew Rybchenko<[email protected]>  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
Yes, it is definitely related. I don't understand why the bug is RESOLVED
as WONTFIX. Of course it is nice that it is not an issue with NPTL, but as
far as I can see in Config.in NPTL is still considered unstable/immature.

IMHO, suggested patch is short, fix exactly what was broken, does
not touch code for NPTL (TLS) case.

The bug makes uClibc 0.9.32 as well as 0.9.31 unusable with
linuxthreads.old. I've not checked linuxthreads. IMHO, it would be
really nice if it is finally fixed in upcoming releases.

Thanks,
     Andrew.

--
Andrew Rybchenko
OKTET Labs, St.-Petersburg, Russia    Web: www.oktetlabs.ru
Office: +7 812 7832191  Fax: +7 812 7846591  Mobile: +7 921 7479683

_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc

Reply via email to