aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-01-01 23:51:53 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-01-02 00:51:17 +0100
commit3cd1cf5fe07b9edba5bcf7ae004c79aea9c488dd (patch)
treeaac0137c87fdc1a2266c1ebdabb21d951a27d484
parent15686aa188d280de3c271b4b1b115aa35c1e6851 (diff)
downloadglibc-3cd1cf5fe07b9edba5bcf7ae004c79aea9c488dd.zip
glibc-3cd1cf5fe07b9edba5bcf7ae004c79aea9c488dd.tar.gz
glibc-3cd1cf5fe07b9edba5bcf7ae004c79aea9c488dd.tar.bz2
htl: move pthread_mutexattr_setprotocol into libc.
Message-ID: <20241231134909.1166440-5-gfleury@disroot.org>
-rw-r--r--htl/Makefile2
-rw-r--r--htl/Versions4
-rw-r--r--sysdeps/htl/pthreadP.h4
-rw-r--r--sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c11
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist2
-rw-r--r--sysdeps/mach/hurd/i386/libpthread.abilist1
-rw-r--r--sysdeps/mach/hurd/x86_64/libc.abilist2
-rw-r--r--sysdeps/mach/hurd/x86_64/libpthread.abilist1
8 files changed, 21 insertions, 6 deletions
diff --git a/htl/Makefile b/htl/Makefile
index c4c9dc0..733a8e9 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -58,7 +58,6 @@ libpthread-routines := \
pt-mutexattr-getpshared \
pt-mutexattr-gettype \
pt-mutexattr-setprioceiling \
- pt-mutexattr-setprotocol \
pt-mutexattr-setpshared \
pt-mutexattr-settype \
pt-mutexattr-getrobust \
@@ -201,6 +200,7 @@ routines := \
pt-mutexattr-destroy \
pt-mutexattr-getprotocol \
pt-mutexattr-init \
+ pt-mutexattr-setprotocol \
pt-nthreads \
pt-pthread_self \
pt-self pt-equal \
diff --git a/htl/Versions b/htl/Versions
index 61c3b9a..c356590 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -41,6 +41,7 @@ libc {
pthread_mutexattr_destroy;
pthread_mutexattr_getprotocol;
pthread_mutexattr_init;
+ pthread_mutexattr_setprotocol;
pthread_sigmask;
}
@@ -87,6 +88,7 @@ libc {
pthread_condattr_setclock;
pthread_condattr_setpshared;
pthread_mutexattr_getprotocol;
+ pthread_mutexattr_setprotocol;
pthread_sigmask;
}
@@ -183,7 +185,7 @@ libpthread {
pthread_mutexattr_getprioceiling;
pthread_mutexattr_getpshared;
pthread_mutexattr_gettype;
- pthread_mutexattr_setprioceiling; pthread_mutexattr_setprotocol;
+ pthread_mutexattr_setprioceiling;
pthread_mutexattr_setpshared; pthread_mutexattr_settype;
pthread_once;
diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h
index 9798fcb..1289c77 100644
--- a/sysdeps/htl/pthreadP.h
+++ b/sysdeps/htl/pthreadP.h
@@ -43,6 +43,10 @@ extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind);
extern int __pthread_mutexattr_getprotocol(const pthread_mutexattr_t *__restrict __attr,
int *__restrict __protocol);
libc_hidden_proto (__pthread_mutexattr_getprotocol)
+extern int __pthread_mutexattr_setprotocol(pthread_mutexattr_t *__attr,
+ int __protocol);
+libc_hidden_proto (__pthread_mutexattr_setprotocol)
+
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-setprotocol.c b/sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c
index 5a06ad4..875ea22 100644
--- a/sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c
+++ b/sysdeps/mach/hurd/htl/pt-mutexattr-setprotocol.c
@@ -16,15 +16,16 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
-#include <pthread.h>
+#include <pthreadP.h>
#include <stdlib.h>
#include <assert.h>
#include <pt-internal.h>
#include "pt-mutex.h"
#include <hurdlock.h>
+#include <shlib-compat.h>
int
-pthread_mutexattr_setprotocol (pthread_mutexattr_t *attrp, int proto)
+__pthread_mutexattr_setprotocol (pthread_mutexattr_t *attrp, int proto)
{
(void) attrp;
return (proto == PTHREAD_PRIO_NONE
@@ -32,3 +33,9 @@ pthread_mutexattr_setprotocol (pthread_mutexattr_t *attrp, int proto)
: (proto != PTHREAD_PRIO_INHERIT
&& proto != PTHREAD_PRIO_PROTECT) ? EINVAL : ENOTSUP);
}
+libc_hidden_def (__pthread_mutexattr_setprotocol)
+versioned_symbol (libc, __pthread_mutexattr_setprotocol, pthread_mutexattr_setprotocol, GLIBC_2_41);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_41)
+compat_symbol (libpthread, __pthread_mutexattr_setprotocol,pthread_mutexattr_setprotocol, GLIBC_2_12);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 4289853..7f7c227 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -66,6 +66,7 @@ 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_init F
+GLIBC_2.12 pthread_mutexattr_setprotocol F
GLIBC_2.12 pthread_self F
GLIBC_2.12 pthread_setschedparam F
GLIBC_2.12 pthread_sigmask F
@@ -2525,6 +2526,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_setprotocol F
GLIBC_2.41 pthread_sigmask F
GLIBC_2.5 __readlinkat_chk F
GLIBC_2.5 inet6_opt_append F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index b53ca95..182909a 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -54,7 +54,6 @@ 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_setprotocol F
GLIBC_2.12 pthread_mutexattr_setpshared F
GLIBC_2.12 pthread_mutexattr_settype F
GLIBC_2.12 pthread_once F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist
index 667c96e..1e83c9f 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -1554,6 +1554,7 @@ 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_init F
+GLIBC_2.38 pthread_mutexattr_setprotocol F
GLIBC_2.38 pthread_self F
GLIBC_2.38 pthread_setcancelstate F
GLIBC_2.38 pthread_setcanceltype F
@@ -2214,6 +2215,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_setprotocol F
GLIBC_2.41 pthread_sigmask F
HURD_CTHREADS_0.3 __cthread_getspecific F
HURD_CTHREADS_0.3 __cthread_keycreate F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index 24becc5..85a08b8 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -79,7 +79,6 @@ 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_setprotocol F
GLIBC_2.38 pthread_mutexattr_setpshared F
GLIBC_2.38 pthread_mutexattr_setrobust F
GLIBC_2.38 pthread_mutexattr_setrobust_np F