libthr shared locks

Daniel Eischen deischen at
Wed Dec 23 18:27:37 UTC 2015

On Wed, 23 Dec 2015, Konstantin Belousov wrote:

[ ... ]
> Would the ABI modified to make the pthread_mutex_t large enough to
> hold struct pthread_mutex, the rest of the implementation of the
> shared mutex is relatively trivial, if not already done.
> Changing this ABI is very hard.  libthr provides the symbol
> versioning, which allows to provide compatible shims for the previous
> ABI variant.  But since userspace tends to use the pthread objects in
> the layouts of the library objects, this causes serious ABI issues
> when mixing libraries built against different default versions of
> libthr.

I think this is only if the libraries (or apps) pass pthread
lock types between them, that one has initialized with one ABI
but the other library uses another ABI.  We should really
exclude this as part of our ABI compatibility.

Mixing libraries built with different pthread ABIs should not
be a problem as long as they don't directly operate on the
other's pthread lock types.

There is also our ability to do a library version bump as a last


More information about the freebsd-threads mailing list