diff options
64 files changed, 78 insertions, 33 deletions
diff --git a/nptl/Versions b/nptl/Versions index fc34e59b70..08fcebacb7 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -128,6 +128,7 @@ libc { GLIBC_2.28 { call_once; cnd_broadcast; + cnd_destroy; thrd_current; thrd_equal; thrd_sleep; @@ -158,6 +159,7 @@ libc { __pthread_setspecific; call_once; cnd_broadcast; + cnd_destroy; pthread_cond_clockwait; pthread_condattr_getclock; pthread_condattr_getpshared; @@ -220,7 +222,6 @@ libc { __pthread_cleanup_pop; __pthread_cleanup_push; __pthread_cleanup_upto; - __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. __pthread_cond_signal; # Used by the C11 threads. __pthread_cond_timedwait; # Used by the C11 threads. @@ -375,7 +376,6 @@ libpthread { # C11 thread symbols. GLIBC_2.28 { - cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile index 821f4c920f..d7cfce2d33 100644 --- a/sysdeps/pthread/Makefile +++ b/sysdeps/pthread/Makefile @@ -34,12 +34,13 @@ routines += thrd_current thrd_equal thrd_sleep thrd_yield libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \ mtx_destroy mtx_init mtx_lock mtx_timedlock \ mtx_trylock mtx_unlock \ - cnd_destroy cnd_init cnd_signal cnd_timedwait cnd_wait \ + cnd_init cnd_signal cnd_timedwait cnd_wait \ tss_create tss_delete tss_get tss_set $(libpthread-routines-var) += \ call_once \ cnd_broadcast \ + cnd_destroy \ tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \ tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \ diff --git a/sysdeps/pthread/cnd_destroy.c b/sysdeps/pthread/cnd_destroy.c index 5ef43bf74b..830cf6d7cb 100644 --- a/sysdeps/pthread/cnd_destroy.c +++ b/sysdeps/pthread/cnd_destroy.c @@ -18,9 +18,18 @@ #include "thrd_priv.h" #include "pthreadP.h" +#include <shlib-compat.h> void -cnd_destroy (cnd_t *cond) +__cnd_destroy (cnd_t *cond) { __pthread_cond_destroy ((pthread_cond_t *) cond); } +#if PTHREAD_IN_LIBC +versioned_symbol (libc, __cnd_destroy, cnd_destroy, GLIBC_2_34); +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34) +compat_symbol (libpthread, __cnd_destroy, cnd_destroy, GLIBC_2_28); +# endif +#else /* !PTHREAD_IN_LIBC */ +strong_alias (__cnd_destroy, cnd_destroy) +#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 010c6306a9..b7236ac82e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2200,6 +2200,7 @@ GLIBC_2.27 wcstof64x F GLIBC_2.27 wcstof64x_l F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F +GLIBC_2.28 cnd_destroy F GLIBC_2.28 fcntl64 F GLIBC_2.28 renameat2 F GLIBC_2.28 statx F @@ -2253,6 +2254,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F +GLIBC_2.34 cnd_destroy F GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_condattr_getclock F GLIBC_2.34 pthread_condattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 7ebe4b990c..2fc70b29d0 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -69,7 +69,6 @@ GLIBC_2.17 sem_unlink F GLIBC_2.17 sem_wait F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.28 cnd_destroy F GLIBC_2.28 cnd_init F GLIBC_2.28 cnd_signal F GLIBC_2.28 cnd_timedwait F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 97594a27ba..af30149d8d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2093,6 +2093,7 @@ GLIBC_2.27 wcstof64x F GLIBC_2.27 wcstof64x_l F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F +GLIBC_2.28 cnd_destroy F GLIBC_2.28 fcntl64 F GLIBC_2.28 renameat2 F GLIBC_2.28 statx F @@ -2334,6 +2335,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F +GLIBC_2.34 cnd_destroy F GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_condattr_getclock F GLIBC_2.34 pthread_condattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index d9d6e39f3e..be6670f777 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -69,7 +69,6 @@ GLIBC_2.2 pthread_yield F GLIBC_2.2 sem_timedwait F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F -GLIBC_2.28 cnd_destroy F GLIBC_2.28 cnd_init F GLIBC_2.28 cnd_signal F GLIBC_2.28 cnd_timedwait F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 8a1d89dde2..2c3bbd8fb2 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -627,6 +627,7 @@ GLIBC_2.32 close F GLIBC_2.32 closedir F GLIBC_2.32 closelog F GLIBC_2.32 cnd_broadcast F +GLIBC_2.32 cnd_destroy F GLIBC_2.32 confstr F GLIBC_2.32 connect F GLIBC_2.32 copy_file_range F @@ -2012,6 +2013,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 call_once F GLIBC_2.34 cnd_broadcast F +GLIBC_2.34 cnd_destroy F GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_condattr_getclock F GLIBC_2.34 pthread_condattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 264fbaad4a..e065ba609d 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.32 __pthread_rwlock_tryrdlock F GLIBC_2.32 __pthread_rwlock_trywrlock F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F -GLIBC_2.32 cnd_destroy F GLIBC_2.32 cnd_init F GLIBC_2.32 cnd_signal F GLIBC_2.32 cnd_timedwait F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 8903c23f98..e1b4beda1f 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sy |
