[fpc-devel] Threading support and C library under Linux/Unix

Michael Schnell mschnell at lumino.de
Wed Jun 23 13:13:23 CEST 2010


On 06/22/2010 02:55 PM, Michael Van Canneyt wrote:
>
>
> For the kernel interface: Not so much. (on some archs, FUTEX is missing).
Yep.
>
> The problem starts if you start linking to C libraries. In that case
> you're
> pretty much forced to use pthreads; each distribution can make different
> choices when compiling libc.
If not using libc, _we_ must do the decision (e.g. whether to use FUTEX
or not.

i.e..:
Archs that don't provide FUTEX, do not have atomic user space
instructions, which are necessary to make use of the FUTEX Kernel API.
But some archs (some ARM types) do provide a "atomic region" interface
to simulate atomic user space instruction,. so Futex is possible without
hardware support of "atomic".
>
> It would be nice to have a kernel interface, though. That way you
> could have
> threading support without pulling in libc.

Right but not easy to do and creates very arch- and sub-arch depending code.

-Michael



More information about the fpc-devel mailing list