diff options
| author | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:51 +0200 |
|---|---|---|
| committer | Florian Weimer <fweimer@redhat.com> | 2021-04-21 19:49:51 +0200 |
| commit | 08129b155e50f01588ec6e675fc76637cb22eb01 (patch) | |
| tree | 951a55d038001f1de40e4c40442a1819d6820402 | |
| parent | 27a448223cb2d3bab191c61303db48cee66f871c (diff) | |
| download | glibc-08129b155e50f01588ec6e675fc76637cb22eb01.tar.xz glibc-08129b155e50f01588ec6e675fc76637cb22eb01.zip | |
nptl: Move core condition variable functions into libc
Onl pthread_cond_clockwait did not have a forwarder, so it needs
a new symbol version.
Some complications arise due to the need to supply hidden aliases,
GLIBC_PRIVATE exports (for the C11 condition variable implementation
that still remains in libpthread) and 64-bit time_t stubs.
pthread_cond_broadcast, pthread_cond_signal, pthread_cond_timedwait,
pthread_cond_wait, pthread_cond_clockwait have been moved using
scripts/move-symbol-to-libc.py.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
75 files changed, 166 insertions, 342 deletions
diff --git a/nptl/Makefile b/nptl/Makefile index 9f739e25d5..6b81fe6c58 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -47,8 +47,12 @@ routines = \ lowlevellock \ nptl_deallocate_tsd \ nptl_nthreads \ + old_pthread_cond_broadcast \ old_pthread_cond_destroy \ old_pthread_cond_init \ + old_pthread_cond_signal \ + old_pthread_cond_timedwait \ + old_pthread_cond_wait \ pthread_atfork \ pthread_attr_copy \ pthread_attr_destroy \ @@ -69,8 +73,11 @@ routines = \ pthread_attr_setsigmask \ pthread_attr_setsigmask_internal \ pthread_cleanup_upto \ + pthread_cond_broadcast \ pthread_cond_destroy \ pthread_cond_init \ + pthread_cond_signal \ + pthread_cond_wait \ pthread_condattr_destroy \ pthread_condattr_init \ pthread_equal \ @@ -83,6 +90,7 @@ routines = \ pthread_key_delete \ pthread_keys \ pthread_kill \ + pthread_mutex_cond_lock \ pthread_mutex_conf \ pthread_mutex_consistent \ pthread_mutex_destroy \ @@ -118,10 +126,6 @@ libpthread-routines = \ nptl-init \ nptlfreeres \ old_pthread_atfork \ - old_pthread_cond_broadcast \ - old_pthread_cond_signal \ - old_pthread_cond_timedwait \ - old_pthread_cond_wait \ pt-interp \ pthread_attr_getaffinity \ pthread_attr_getguardsize \ @@ -141,9 +145,6 @@ libpthread-routines = \ pthread_barrierattr_setpshared \ pthread_cancel \ pthread_clockjoin \ - pthread_cond_broadcast \ - pthread_cond_signal \ - pthread_cond_wait \ pthread_condattr_getclock \ pthread_condattr_getpshared \ pthread_condattr_setclock \ @@ -157,7 +158,6 @@ libpthread-routines = \ pthread_join \ pthread_join_common \ pthread_kill_other_threads \ - pthread_mutex_cond_lock \ pthread_mutex_getprioceiling \ pthread_mutex_setprioceiling \ pthread_mutex_timedlock \ diff --git a/nptl/Versions b/nptl/Versions index 7672831e3a..2c2c5c2078 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -96,6 +96,9 @@ libc { thrd_sleep; thrd_yield; } + GLIBC_2.30 { + pthread_cond_clockwait; + } GLIBC_2.32 { pthread_attr_getsigmask_np; pthread_attr_setaffinity_np; @@ -114,6 +117,7 @@ libc { __pthread_mutex_unlock; __pthread_once; __pthread_setspecific; + pthread_cond_clockwait; pthread_getspecific; pthread_key_create; pthread_key_delete; @@ -151,8 +155,12 @@ libc { __pthread_cleanup_pop; __pthread_cleanup_push; __pthread_cleanup_upto; + __pthread_cond_broadcast; # Used by the C11 threads. __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. + __pthread_cond_wait; # Used by the C11 threads. __pthread_current_priority; __pthread_exit; __pthread_force_elision; @@ -187,10 +195,6 @@ libpthread { funlockfile; pthread_atfork; pthread_cancel; - pthread_cond_broadcast; |
