My questions are:
- Why Winelib uses it's own implementation of pthreads (at least it
looks like this is intention)?
Because Wine uses his own threading model to emulate the one used in real Windows. This means that pthread needs to be 'ported' to this model for it to integrate well with Wine.
- Is it possible to force linker to use symbols from libpthread.so
instead of symbols from ntdll.dll.so? (I don't know how to tell linker to use symbol, e.g. pthread_cond_wait, from specified library, i.e. /lib/libpthread.so.0).
Well, maybe you can, but we do not guarantee at all that the result will even work. If you use Winelib to port an application and never intend to use any native Windows DLL, it could, but that is currently not supported by Wine (ie have Wine use pthread for its threading).
Lionel