about summary refs log tree commit diff
path: root/nptl/pthread_once.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-03 08:12:11 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-03 08:14:01 +0200
commit575295fc8314b089e52f98de4aa16a9d7aeb9bf4 (patch)
treebeee73fc51f4c1213cf54e9b137ef9d776eaab66 /nptl/pthread_once.c
parentad201afe5c348de265b92bae6688034102a4386b (diff)
downloadglibc-575295fc8314b089e52f98de4aa16a9d7aeb9bf4.tar.gz
glibc-575295fc8314b089e52f98de4aa16a9d7aeb9bf4.tar.xz
glibc-575295fc8314b089e52f98de4aa16a9d7aeb9bf4.zip
nptl: Move call_once into libc
The symbol was moved using scripts/move-symbol-to-libc.py.

This change also turns __pthread_once into a compatibility symbol
because after the call_once move, an internal call to __pthread_once
can be used.  This an adjustment to __libc_once: Outside libc (e.g.,
in nscd), it has to call pthread_once.  With __pthread_once as a
compatibility symbol, it is no longer to add a new GLIBC_2.34
version after the move from libpthread, and this commit removes
the new __pthread_once@@GLIBC_2.34 version.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl/pthread_once.c')
-rw-r--r--nptl/pthread_once.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/nptl/pthread_once.c b/nptl/pthread_once.c
index 323583c118..e8cf54cf96 100644
--- a/nptl/pthread_once.c
+++ b/nptl/pthread_once.c
@@ -143,8 +143,10 @@ ___pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
   else
     return __pthread_once_slow (once_control, init_routine);
 }
-versioned_symbol (libc, ___pthread_once, __pthread_once, GLIBC_2_34);
 libc_hidden_ver (___pthread_once, __pthread_once)
+#ifndef SHARED
+strong_alias (___pthread_once, __pthread_once)
+#endif
 
 versioned_symbol (libc, ___pthread_once, pthread_once, GLIBC_2_34);
 #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)