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

Reply via email to