Hi,
when building git master branch with libpthread.old and I got very weird
behavior with errno :
- static link with thread crash in __uClibc_main. This seems to be due to the
libc_hidden_proto, that make think gcc the "if
(likely(__h_errno_location!=NULL))" is always true, but for an unknown reason it is
false. Also the libpthread can't override the hidden symbol
- dynamic link with thread produce a mix of call to weak errno_location and
libthread errno_location. Again this this because libpthread can't override the
hidden symbol
Removing the libc_hidden_weak/libc_hidden_proto for __errno_location and
__h_errno_location make the things work. [1]
Is that normal ?
Thanks
Matthieu
[1] there other issue. Work example a static link of [2], crash because
_stdio_init is NULL, but because _stdio_init is HIDDEN, gcc remove the check.
making not hidden make it crash on _stdio_term that is also hidden.
I am missing something or uclibc git doesn't work at all ?
[2]
int main(){
return 0;
}
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc