bionic libpthread port

matthieu castet castet.matthieu at free.fr
Sun Dec 20 22:55:11 UTC 2009


Hi,

I resurrected the port of bionic (android libc) thread library I did a year ago.
I put it on http://github.com/mat-c/uClibc/commits/uClibc_bionic (also in uClibc_bionic_fixes branch with some other fixes)

android thread library is minimalist :
- use most of the linux kernel thread features (futex, CLONE_THREAD) unlike old linuxpthread.
- it doesn't support thread cancellation (see CAVEATS file)
- it misses some pthread functions : for example no barrier, missing *timedwait variant, ...
- very basic gdb support that only work through gdbserver
- some theoric race

The arch-os depend part are very small : atomic operations (__atomic_cmpxchg, __atomic_swap and __atomic_dec,__atomic_inc), tls (getting and setting a thread local pointer) and exit_and_munmap.
So it could be easily portable on other arches.

I did some basic testing on x86. arm should work but is untested.


Matthieu


More information about the uClibc mailing list