[5/7] htl: move pthread_condattr_init into libc.

Message ID 20241126205329.2215295-6-gfleury@disroot.org
State New
Headers
Series htl: move pthread_condattr_* into libc. |

Checks

Context Check Description
redhat-pt-bot/TryBot-apply_patch success Patch applied to master at the time it was sent
linaro-tcwg-bot/tcwg_glibc_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_glibc_check--master-arm success Test passed
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 success Test passed

Commit Message

gfleury Nov. 26, 2024, 8:53 p.m. UTC
  Signed-off-by: gfleury <gfleury@disroot.org>
---
 htl/Makefile                                | 2 +-
 htl/Versions                                | 3 ++-
 htl/forward.c                               | 3 ---
 htl/pt-initialize.c                         | 1 -
 sysdeps/htl/pt-condattr-init.c              | 7 ++++++-
 sysdeps/htl/pthread-functions.h             | 2 --
 sysdeps/htl/pthreadP.h                      | 2 ++
 sysdeps/mach/hurd/i386/libc.abilist         | 1 +
 sysdeps/mach/hurd/i386/libpthread.abilist   | 1 -
 sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 -
 10 files changed, 12 insertions(+), 11 deletions(-)
  

Patch

diff --git a/htl/Makefile b/htl/Makefile
index 60a28e0c..e68cf2b5 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -92,7 +92,6 @@  libpthread-routines := \
   pt-rwlock-timedrdlock \
   pt-rwlock-timedwrlock \
   pt-rwlock-unlock \
-  pt-condattr-init \
   pt-condattr-setclock \
   pt-condattr-setpshared \
   pt-cond-destroy \
@@ -206,6 +205,7 @@  routines := \
   pt-condattr-destroy \
   pt-condattr-getclock \
   pt-condattr-getpshared \
+  pt-condattr-init \
   pt-getschedparam \
   pt-nthreads \
   pt-pthread_self \
diff --git a/htl/Versions b/htl/Versions
index 33106014..95c8a521 100644
--- a/htl/Versions
+++ b/htl/Versions
@@ -27,6 +27,7 @@  libc {
     pthread_attr_setschedparam;
     pthread_attr_init;
     pthread_condattr_getclock;
+    pthread_condattr_init;
     pthread_condattr_destroy;
     pthread_condattr_getpshared;
   }
@@ -87,6 +88,7 @@  libc {
     __pthread_attr_setstacksize;
     __pthread_attr_setstackaddr;
     __pthread_attr_setstack;
+    __pthread_condattr_init;
     __pthread_default_condattr;
   }
 }
@@ -125,7 +127,6 @@  libpthread {
     pthread_cond_broadcast; pthread_cond_destroy; pthread_cond_init;
     pthread_cond_signal; pthread_cond_timedwait; pthread_cond_wait;
 
-    pthread_condattr_init;
     pthread_condattr_setclock; pthread_condattr_setpshared;
 
     pthread_create; pthread_detach; pthread_exit;
diff --git a/htl/forward.c b/htl/forward.c
index 3fe0a74d..48825de0 100644
--- a/htl/forward.c
+++ b/htl/forward.c
@@ -53,9 +53,6 @@  name decl								      \
 #define FORWARD(name, decl, params, defretval) \
   FORWARD2 (name, int, decl, params, return defretval)
 
-FORWARD (pthread_condattr_init, (pthread_condattr_t *attr), (attr), 0)
-
-
 FORWARD (pthread_cond_broadcast, (pthread_cond_t *cond), (cond), 0)
 FORWARD (pthread_cond_destroy, (pthread_cond_t *cond), (cond), 0)
 FORWARD (pthread_cond_init,
diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c
index 632ee847..ae721f3a 100644
--- a/htl/pt-initialize.c
+++ b/htl/pt-initialize.c
@@ -27,7 +27,6 @@ 
 
 #if IS_IN (libpthread)
 static const struct pthread_functions pthread_functions = {
-  .ptr_pthread_condattr_init = __pthread_condattr_init,
   .ptr_pthread_cond_broadcast = __pthread_cond_broadcast,
   .ptr_pthread_cond_destroy = __pthread_cond_destroy,
   .ptr_pthread_cond_init = __pthread_cond_init,
diff --git a/sysdeps/htl/pt-condattr-init.c b/sysdeps/htl/pt-condattr-init.c
index 4f7486a2..7ffa1622 100644
--- a/sysdeps/htl/pt-condattr-init.c
+++ b/sysdeps/htl/pt-condattr-init.c
@@ -17,6 +17,7 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <pthread.h>
+#include <shlib-compat.h>
 #include <pt-internal.h>
 
 int
@@ -27,5 +28,9 @@  __pthread_condattr_init (pthread_condattr_t *attr)
   *attr = __pthread_default_condattr;
   return 0;
 }
+libc_hidden_def (__pthread_condattr_init)
+versioned_symbol (libc, __pthread_condattr_init, pthread_condattr_init, GLIBC_2_21);
 
-weak_alias (__pthread_condattr_init, pthread_condattr_init);
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_21)
+compat_symbol (libc, __pthread_condattr_init, pthread_condattr_init, GLIBC_2_12);
+#endif
diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h
index 6bd01682..8ee01d3f 100644
--- a/sysdeps/htl/pthread-functions.h
+++ b/sysdeps/htl/pthread-functions.h
@@ -21,7 +21,6 @@ 
 
 #include <pthread.h>
 
-int __pthread_condattr_init (pthread_condattr_t *);
 int __pthread_cond_broadcast (pthread_cond_t *);
 int __pthread_cond_destroy (pthread_cond_t *);
 int __pthread_cond_init (pthread_cond_t *,
@@ -57,7 +56,6 @@  int _cthreads_ftrylockfile (FILE *);
    so if possible avoid breaking it and append new hooks to the end.  */
 struct pthread_functions
 {
-  int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
   int (*ptr_pthread_cond_broadcast) (pthread_cond_t *);
   int (*ptr_pthread_cond_destroy) (pthread_cond_t *);
   int (*ptr_pthread_cond_init) (pthread_cond_t *,
diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h
index 68e6cf17..afdf2cbd 100644
--- a/sysdeps/htl/pthreadP.h
+++ b/sysdeps/htl/pthreadP.h
@@ -98,11 +98,13 @@  int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *);
 libc_hidden_proto (__pthread_attr_getstack)
 void __pthread_testcancel (void);
 int __pthread_attr_init (pthread_attr_t *attr);
+int __pthread_condattr_init (pthread_condattr_t *attr);
 
 #define __pthread_raise_internal(__sig) raise (__sig)
 
 libc_hidden_proto (__pthread_self)
 libc_hidden_proto (__pthread_attr_init)
+libc_hidden_proto (__pthread_condattr_init)
 
 #if IS_IN (libpthread)
 hidden_proto (__pthread_create)
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index de6db602..1e3e6489 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -52,6 +52,7 @@  GLIBC_2.12 pthread_attr_setstacksize F
 GLIBC_2.12 pthread_condattr_destroy F
 GLIBC_2.12 pthread_condattr_getclock F
 GLIBC_2.12 pthread_condattr_getpshared F
+GLIBC_2.12 pthread_condattr_init F
 GLIBC_2.12 pthread_equal F
 GLIBC_2.12 pthread_getschedparam F
 GLIBC_2.12 pthread_self F
diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist
index 6a1e221e..6bacf9a4 100644
--- a/sysdeps/mach/hurd/i386/libpthread.abilist
+++ b/sysdeps/mach/hurd/i386/libpthread.abilist
@@ -36,7 +36,6 @@  GLIBC_2.12 pthread_cond_init F
 GLIBC_2.12 pthread_cond_signal F
 GLIBC_2.12 pthread_cond_timedwait F
 GLIBC_2.12 pthread_cond_wait F
-GLIBC_2.12 pthread_condattr_init F
 GLIBC_2.12 pthread_condattr_setclock F
 GLIBC_2.12 pthread_condattr_setpshared F
 GLIBC_2.12 pthread_create F
diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist
index ae4480ca..35ff3d03 100644
--- a/sysdeps/mach/hurd/x86_64/libpthread.abilist
+++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist
@@ -55,7 +55,6 @@  GLIBC_2.38 pthread_cond_init F
 GLIBC_2.38 pthread_cond_signal F
 GLIBC_2.38 pthread_cond_timedwait F
 GLIBC_2.38 pthread_cond_wait F
-GLIBC_2.38 pthread_condattr_init F
 GLIBC_2.38 pthread_condattr_setclock F
 GLIBC_2.38 pthread_condattr_setpshared F
 GLIBC_2.38 pthread_create F