diff --git a/htl/Makefile b/htl/Makefile index 733a8e9db2..a6c51b61f0 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -56,10 +56,8 @@ libpthread-routines := \ pt-cancel \ pt-mutexattr-getprioceiling \ pt-mutexattr-getpshared \ - pt-mutexattr-gettype \ pt-mutexattr-setprioceiling \ pt-mutexattr-setpshared \ - pt-mutexattr-settype \ pt-mutexattr-getrobust \ pt-mutexattr-setrobust \ pt-mutex-init \ @@ -199,8 +197,10 @@ routines := \ pt-mutex-checklocked \ pt-mutexattr-destroy \ pt-mutexattr-getprotocol \ + pt-mutexattr-gettype \ pt-mutexattr-init \ pt-mutexattr-setprotocol \ + pt-mutexattr-settype \ pt-nthreads \ pt-pthread_self \ pt-self pt-equal \ diff --git a/htl/Versions b/htl/Versions index c356590e72..ca52bd11d6 100644 --- a/htl/Versions +++ b/htl/Versions @@ -40,8 +40,10 @@ libc { pthread_condattr_setpshared; pthread_mutexattr_destroy; pthread_mutexattr_getprotocol; + pthread_mutexattr_gettype; pthread_mutexattr_init; pthread_mutexattr_setprotocol; + pthread_mutexattr_settype; pthread_sigmask; } @@ -88,7 +90,9 @@ libc { pthread_condattr_setclock; pthread_condattr_setpshared; pthread_mutexattr_getprotocol; + pthread_mutexattr_gettype; pthread_mutexattr_setprotocol; + pthread_mutexattr_settype; pthread_sigmask; } @@ -122,6 +126,7 @@ libc { __pthread_mutex_checklocked; __pthread_mutexattr_destroy; __pthread_mutexattr_init; + __pthread_mutexattr_settype; __pthread_sigstate; __pthread_sigstate_destroy; __pthread_sigmask; @@ -184,9 +189,8 @@ libpthread { pthread_mutexattr_getprioceiling; pthread_mutexattr_getpshared; - pthread_mutexattr_gettype; pthread_mutexattr_setprioceiling; - pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_mutexattr_setpshared; pthread_once; diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 1289c77473..554d77a8aa 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -47,6 +47,13 @@ extern int __pthread_mutexattr_setprotocol(pthread_mutexattr_t *__attr, int __protocol); libc_hidden_proto (__pthread_mutexattr_setprotocol) +extern int __pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict __attr, + int *__restrict __type); +libc_hidden_proto (__pthread_mutexattr_gettype) +extern int __pthread_mutexattr_settype(pthread_mutexattr_t *__attr, + int __type); +libc_hidden_proto (__pthread_mutexattr_settype) + extern int __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr); libc_hidden_proto (__pthread_cond_init) diff --git a/sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c b/sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c index 321f7fbd2a..b554bc4bb7 100644 --- a/sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c +++ b/sysdeps/mach/hurd/htl/pt-mutexattr-gettype.c @@ -16,16 +16,23 @@ License along with the GNU C Library; if not, see . */ -#include +#include #include #include #include #include "pt-mutex.h" #include +#include int -pthread_mutexattr_gettype (const pthread_mutexattr_t *attrp, int *outp) +__pthread_mutexattr_gettype (const pthread_mutexattr_t *attrp, int *outp) { *outp = attrp->__mutex_type; return 0; } +libc_hidden_def (__pthread_mutexattr_gettype) +versioned_symbol (libc, __pthread_mutexattr_gettype, pthread_mutexattr_gettype, GLIBC_2_41); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_41) +compat_symbol (libpthread, __pthread_mutexattr_gettype,pthread_mutexattr_gettype, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/htl/pt-mutexattr-settype.c b/sysdeps/mach/hurd/htl/pt-mutexattr-settype.c index 5499e71a20..84aeaeee50 100644 --- a/sysdeps/mach/hurd/htl/pt-mutexattr-settype.c +++ b/sysdeps/mach/hurd/htl/pt-mutexattr-settype.c @@ -22,6 +22,7 @@ #include #include "pt-mutex.h" #include +#include int __pthread_mutexattr_settype (pthread_mutexattr_t *attrp, int type) @@ -32,4 +33,9 @@ __pthread_mutexattr_settype (pthread_mutexattr_t *attrp, int type) attrp->__mutex_type = type; return 0; } -weak_alias (__pthread_mutexattr_settype, pthread_mutexattr_settype) +libc_hidden_def (__pthread_mutexattr_settype) +versioned_symbol (libc, __pthread_mutexattr_settype, pthread_mutexattr_settype, GLIBC_2_41); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_41) +compat_symbol (libpthread, __pthread_mutexattr_settype,pthread_mutexattr_settype, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 7f7c227900..5ede5a29a3 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -65,8 +65,10 @@ GLIBC_2.12 pthread_equal F GLIBC_2.12 pthread_getschedparam F GLIBC_2.12 pthread_mutexattr_destroy F GLIBC_2.12 pthread_mutexattr_getprotocol F +GLIBC_2.12 pthread_mutexattr_gettype F GLIBC_2.12 pthread_mutexattr_init F GLIBC_2.12 pthread_mutexattr_setprotocol F +GLIBC_2.12 pthread_mutexattr_settype F GLIBC_2.12 pthread_self F GLIBC_2.12 pthread_setschedparam F GLIBC_2.12 pthread_sigmask F @@ -2526,6 +2528,7 @@ GLIBC_2.41 pthread_condattr_getpshared F GLIBC_2.41 pthread_condattr_setclock F GLIBC_2.41 pthread_condattr_setpshared F GLIBC_2.41 pthread_mutexattr_getprotocol F +GLIBC_2.41 pthread_mutexattr_gettype F GLIBC_2.41 pthread_mutexattr_setprotocol F GLIBC_2.41 pthread_sigmask F GLIBC_2.5 __readlinkat_chk F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 182909a988..0ba4f8e9f9 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -52,10 +52,8 @@ GLIBC_2.12 pthread_mutex_trylock F GLIBC_2.12 pthread_mutex_unlock F GLIBC_2.12 pthread_mutexattr_getprioceiling F GLIBC_2.12 pthread_mutexattr_getpshared F -GLIBC_2.12 pthread_mutexattr_gettype F GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setpshared F -GLIBC_2.12 pthread_mutexattr_settype F GLIBC_2.12 pthread_once F GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_init F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 1e83c9f1b4..4bff3073a9 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1553,8 +1553,10 @@ GLIBC_2.38 pthread_mutex_lock F GLIBC_2.38 pthread_mutex_unlock F GLIBC_2.38 pthread_mutexattr_destroy F GLIBC_2.38 pthread_mutexattr_getprotocol F +GLIBC_2.38 pthread_mutexattr_gettype F GLIBC_2.38 pthread_mutexattr_init F GLIBC_2.38 pthread_mutexattr_setprotocol F +GLIBC_2.38 pthread_mutexattr_settype F GLIBC_2.38 pthread_self F GLIBC_2.38 pthread_setcancelstate F GLIBC_2.38 pthread_setcanceltype F @@ -2215,6 +2217,7 @@ GLIBC_2.41 pthread_condattr_getpshared F GLIBC_2.41 pthread_condattr_setclock F GLIBC_2.41 pthread_condattr_setpshared F GLIBC_2.41 pthread_mutexattr_getprotocol F +GLIBC_2.41 pthread_mutexattr_gettype F GLIBC_2.41 pthread_mutexattr_setprotocol F GLIBC_2.41 pthread_sigmask F HURD_CTHREADS_0.3 __cthread_getspecific F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 85a08b872f..bd8a03634b 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -77,12 +77,10 @@ GLIBC_2.38 pthread_mutexattr_getprioceiling F GLIBC_2.38 pthread_mutexattr_getpshared F GLIBC_2.38 pthread_mutexattr_getrobust F GLIBC_2.38 pthread_mutexattr_getrobust_np F -GLIBC_2.38 pthread_mutexattr_gettype F GLIBC_2.38 pthread_mutexattr_setprioceiling F GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F -GLIBC_2.38 pthread_mutexattr_settype F GLIBC_2.38 pthread_once F GLIBC_2.38 pthread_rwlock_clockrdlock F GLIBC_2.38 pthread_rwlock_clockwrlock F