htl: move pthread_mutex_consistent, pthread_mutex_consistent_np into libc.

Message-ID: <20250103103750.870897-6-gfleury@disroot.org>
This commit is contained in:
gfleury 2025-01-03 12:37:49 +02:00 committed by Samuel Thibault
parent 8bfabe7a92
commit 265c5991af
8 changed files with 24 additions and 10 deletions

View file

@ -55,7 +55,6 @@ libpthread-routines := \
pt-testcancel \ pt-testcancel \
pt-cancel \ pt-cancel \
pt-mutex-transfer-np \ pt-mutex-transfer-np \
pt-mutex-consistent \
pt-rwlock-attr \ pt-rwlock-attr \
pt-rwlockattr-init \ pt-rwlockattr-init \
pt-rwlockattr-destroy \ pt-rwlockattr-destroy \
@ -181,6 +180,7 @@ routines := \
pt-condattr-setpshared \ pt-condattr-setpshared \
pt-getschedparam \ pt-getschedparam \
pt-mutex-checklocked \ pt-mutex-checklocked \
pt-mutex-consistent \
pt-mutex-destroy \ pt-mutex-destroy \
pt-mutex-getprioceiling \ pt-mutex-getprioceiling \
pt-mutex-init \ pt-mutex-init \

View file

@ -89,6 +89,8 @@ libc {
pthread_mutex_clocklock; pthread_mutex_clocklock;
pthread_mutex_consistent; pthread_mutex_consistent_np;
pthread_mutexattr_getrobust; pthread_mutexattr_getrobust_np; pthread_mutexattr_getrobust; pthread_mutexattr_getrobust_np;
pthread_mutexattr_setrobust; pthread_mutexattr_setrobust_np; pthread_mutexattr_setrobust; pthread_mutexattr_setrobust_np;
} }
@ -120,6 +122,7 @@ libc {
} }
GLIBC_2.42 { GLIBC_2.42 {
pthread_mutex_consistent; pthread_mutex_consistent_np;
pthread_mutex_getprioceiling; pthread_mutex_getprioceiling;
pthread_mutex_setprioceiling; pthread_mutex_setprioceiling;
pthread_mutex_trylock; pthread_mutex_trylock;
@ -257,8 +260,6 @@ libpthread {
cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait; cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait;
tss_create; tss_delete; tss_get; tss_set; tss_create; tss_delete; tss_get; tss_set;
pthread_mutex_consistent; pthread_mutex_consistent_np;
pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock;
pthread_tryjoin_np; pthread_timedjoin_np; pthread_clockjoin_np; pthread_tryjoin_np; pthread_timedjoin_np; pthread_clockjoin_np;

View file

@ -36,6 +36,8 @@ libc_hidden_proto (__pthread_mutex_init)
extern int __pthread_mutex_clocklock (pthread_mutex_t *__mutex, clockid_t __clockid, extern int __pthread_mutex_clocklock (pthread_mutex_t *__mutex, clockid_t __clockid,
const struct timespec *__abstime); const struct timespec *__abstime);
libc_hidden_proto (__pthread_mutex_clocklock) libc_hidden_proto (__pthread_mutex_clocklock)
extern int __pthread_mutex_consistent (pthread_mutex_t *__mtxp);
libc_hidden_proto (__pthread_mutex_consistent)
extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
libc_hidden_proto (__pthread_mutex_lock) libc_hidden_proto (__pthread_mutex_lock)
extern int __pthread_mutex_getprioceiling (const pthread_mutex_t *__mutex, extern int __pthread_mutex_getprioceiling (const pthread_mutex_t *__mutex,

View file

@ -16,16 +16,17 @@
License along with the GNU C Library; if not, see License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */ <https://www.gnu.org/licenses/>. */
#include <pthread.h> #include <pthreadP.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h> #include <assert.h>
#include <pt-internal.h> #include <pt-internal.h>
#include "pt-mutex.h" #include "pt-mutex.h"
#include <hurdlock.h> #include <hurdlock.h>
#include <unistd.h> #include <unistd.h>
#include <shlib-compat.h>
int int
pthread_mutex_consistent (pthread_mutex_t *mtxp) __pthread_mutex_consistent (pthread_mutex_t *mtxp)
{ {
int ret = EINVAL; int ret = EINVAL;
unsigned int val = mtxp->__lock; unsigned int val = mtxp->__lock;
@ -44,5 +45,11 @@ pthread_mutex_consistent (pthread_mutex_t *mtxp)
return ret; return ret;
} }
libc_hidden_def (__pthread_mutex_consistent)
versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent, GLIBC_2_42);
versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent_np, GLIBC_2_42);
weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np) #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_32, GLIBC_2_42)
compat_symbol (libpthread, __pthread_mutex_consistent,pthread_mutex_consistent, GLIBC_2_32);
compat_symbol (libpthread, __pthread_mutex_consistent,pthread_mutex_consistent_np, GLIBC_2_32);
#endif

View file

@ -2272,6 +2272,8 @@ GLIBC_2.32 mach_print F
GLIBC_2.32 mremap F GLIBC_2.32 mremap F
GLIBC_2.32 pthread_cond_clockwait F GLIBC_2.32 pthread_cond_clockwait F
GLIBC_2.32 pthread_mutex_clocklock F GLIBC_2.32 pthread_mutex_clocklock F
GLIBC_2.32 pthread_mutex_consistent F
GLIBC_2.32 pthread_mutex_consistent_np F
GLIBC_2.32 pthread_mutexattr_getrobust F GLIBC_2.32 pthread_mutexattr_getrobust F
GLIBC_2.32 pthread_mutexattr_getrobust_np F GLIBC_2.32 pthread_mutexattr_getrobust_np F
GLIBC_2.32 pthread_mutexattr_setrobust F GLIBC_2.32 pthread_mutexattr_setrobust F
@ -2557,6 +2559,8 @@ GLIBC_2.41 pthread_mutexattr_setrobust F
GLIBC_2.41 pthread_mutexattr_setrobust_np F GLIBC_2.41 pthread_mutexattr_setrobust_np F
GLIBC_2.41 pthread_mutexattr_settype F GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_getprioceiling F
GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F
GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_mutex_trylock F

View file

@ -99,8 +99,6 @@ GLIBC_2.32 mtx_timedlock F
GLIBC_2.32 mtx_trylock F GLIBC_2.32 mtx_trylock F
GLIBC_2.32 mtx_unlock F GLIBC_2.32 mtx_unlock F
GLIBC_2.32 pthread_clockjoin_np F GLIBC_2.32 pthread_clockjoin_np F
GLIBC_2.32 pthread_mutex_consistent F
GLIBC_2.32 pthread_mutex_consistent_np F
GLIBC_2.32 pthread_rwlock_clockrdlock F GLIBC_2.32 pthread_rwlock_clockrdlock F
GLIBC_2.32 pthread_rwlock_clockwrlock F GLIBC_2.32 pthread_rwlock_clockwrlock F
GLIBC_2.32 pthread_timedjoin_np F GLIBC_2.32 pthread_timedjoin_np F

View file

@ -1548,6 +1548,8 @@ GLIBC_2.38 pthread_equal F
GLIBC_2.38 pthread_exit F GLIBC_2.38 pthread_exit F
GLIBC_2.38 pthread_getschedparam F GLIBC_2.38 pthread_getschedparam F
GLIBC_2.38 pthread_mutex_clocklock F GLIBC_2.38 pthread_mutex_clocklock F
GLIBC_2.38 pthread_mutex_consistent F
GLIBC_2.38 pthread_mutex_consistent_np F
GLIBC_2.38 pthread_mutex_destroy F GLIBC_2.38 pthread_mutex_destroy F
GLIBC_2.38 pthread_mutex_getprioceiling F GLIBC_2.38 pthread_mutex_getprioceiling F
GLIBC_2.38 pthread_mutex_init F GLIBC_2.38 pthread_mutex_init F
@ -2242,6 +2244,8 @@ GLIBC_2.41 pthread_mutexattr_setrobust F
GLIBC_2.41 pthread_mutexattr_setrobust_np F GLIBC_2.41 pthread_mutexattr_setrobust_np F
GLIBC_2.41 pthread_mutexattr_settype F GLIBC_2.41 pthread_mutexattr_settype F
GLIBC_2.41 pthread_sigmask F GLIBC_2.41 pthread_sigmask F
GLIBC_2.42 pthread_mutex_consistent F
GLIBC_2.42 pthread_mutex_consistent_np F
GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_getprioceiling F
GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F
GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_mutex_trylock F

View file

@ -61,8 +61,6 @@ GLIBC_2.38 pthread_join F
GLIBC_2.38 pthread_key_create F GLIBC_2.38 pthread_key_create F
GLIBC_2.38 pthread_key_delete F GLIBC_2.38 pthread_key_delete F
GLIBC_2.38 pthread_kill F GLIBC_2.38 pthread_kill F
GLIBC_2.38 pthread_mutex_consistent F
GLIBC_2.38 pthread_mutex_consistent_np F
GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_mutex_transfer_np F
GLIBC_2.38 pthread_once F GLIBC_2.38 pthread_once F
GLIBC_2.38 pthread_rwlock_clockrdlock F GLIBC_2.38 pthread_rwlock_clockrdlock F