summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/Versions6
-rw-r--r--nptl/libc_pthread_init.c8
-rw-r--r--nptl/nptl-init.c4
-rw-r--r--nptl/pthreadP.h8
-rw-r--r--nptl/pthread_once.c21
-rw-r--r--sysdeps/nptl/fork.c3
-rw-r--r--sysdeps/nptl/fork.h3
-rw-r--r--sysdeps/nptl/libc-lockP.h13
-rw-r--r--sysdeps/nptl/pthread-functions.h1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist2
71 files changed, 158 insertions, 97 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 0b01d2aed7..5fe8d1a4c5 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -76,6 +76,7 @@ routines = \
pthread_getattr_np \
pthread_getschedparam \
pthread_mutex_consistent \
+ pthread_once \
pthread_self \
pthread_setschedparam \
pthread_sigmask \
@@ -175,7 +176,6 @@ libpthread-routines = \
pthread_mutexattr_setpshared \
pthread_mutexattr_setrobust \
pthread_mutexattr_settype \
- pthread_once \
pthread_rwlock_clockrdlock \
pthread_rwlock_clockwrlock \
pthread_rwlock_destroy \
diff --git a/nptl/Versions b/nptl/Versions
index 02b5f69cb8..a986dd5947 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -1,5 +1,6 @@
libc {
GLIBC_2.0 {
+ __pthread_once;
_pthread_cleanup_pop;
_pthread_cleanup_pop_restore;
_pthread_cleanup_push;
@@ -31,6 +32,7 @@ libc {
pthread_mutex_init;
pthread_mutex_lock;
pthread_mutex_unlock;
+ pthread_once;
pthread_self;
pthread_setcancelstate;
pthread_setcanceltype;
@@ -83,7 +85,9 @@ libc {
}
GLIBC_2.34 {
__pthread_cleanup_routine;
+ __pthread_once;
pthread_mutex_consistent;
+ pthread_once;
}
GLIBC_PRIVATE {
__futex_abstimed_wait64;
@@ -138,7 +142,6 @@ libpthread {
__pthread_mutexattr_destroy;
__pthread_mutexattr_init;
__pthread_mutexattr_settype;
- __pthread_once;
__pthread_setspecific;
__send;
__sigaction;
@@ -172,7 +175,6 @@ libpthread {
pthread_mutexattr_getkind_np;
pthread_mutexattr_init;
pthread_mutexattr_setkind_np;
- pthread_once;
pthread_setcancelstate;
pthread_setcanceltype;
pthread_setspecific;
diff --git a/nptl/libc_pthread_init.c b/nptl/libc_pthread_init.c
index 0757f92cd2..3ac54aae13 100644
--- a/nptl/libc_pthread_init.c
+++ b/nptl/libc_pthread_init.c
@@ -28,9 +28,6 @@
#include <ldsodefs.h>
-unsigned long int *__fork_generation_pointer;
-
-
#ifdef TLS_MULTIPLE_THREADS_IN_TCB
void
#else
@@ -38,12 +35,9 @@ extern int __libc_multiple_threads attribute_hidden;
int *
#endif
-__libc_pthread_init (unsigned long int *ptr, void (*reclaim) (void),
+__libc_pthread_init (void (*reclaim) (void),
const struct pthread_functions *functions)
{
- /* Remember the pointer to the generation counter in libpthread. */
- __fork_generation_pointer = ptr;
-
/* Called by a child after fork. */
__register_atfork (NULL, NULL, reclaim, NULL);
diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c
index 41527dcad1..c2e02b1bf2 100644
--- a/nptl/nptl-init.c
+++ b/nptl/nptl-init.c
@@ -88,7 +88,6 @@ static const struct pthread_functions pthread_functions =
.ptr_pthread_mutex_unlock = __pthread_mutex_unlock,
.ptr___pthread_setcancelstate = __pthread_setcancelstate,
.ptr_pthread_setcanceltype = __pthread_setcanceltype,
- .ptr___pthread_once = __pthread_once,
.ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock,
.ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock,
.ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock,
@@ -334,8 +333,7 @@ __pthread_initialize_minimal_internal (void)
#ifndef TLS_MULTIPLE_THREADS_IN_TCB
__libc_multiple_threads_ptr =
#endif
- __libc_pthread_init (&__fork_generation, __reclaim_stacks,
- ptr_pthread_functions);
+ __libc_pthread_init (__reclaim_stacks, ptr_pthread_functions);
#if HAVE_TUNABLES
__pthread_tunables_init ();
diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
index 8f3d2cc8c9..9f2990217c 100644
--- a/nptl/pthreadP.h
+++ b/nptl/pthreadP.h
@@ -355,12 +355,10 @@ hidden_proto (__nptl_death_event)
/* Register the generation counter in the libpthread with the libc. */
#ifdef TLS_MULTIPLE_THREADS_IN_TCB
-extern void __libc_pthread_init (unsigned long int *ptr,
- void (*reclaim) (void),
+extern void __libc_pthread_init (void (*reclaim) (void),
const struct pthread_functions *functions);
#else
-extern int *__libc_pthread_init (unsigned long int *ptr,
- void (*reclaim) (void),
+extern int *__libc_pthread_init (void (*reclaim) (void),
const struct pthread_functions *functions);
/* Variable set to a nonzero value either if more than one thread runs or ran,
@@ -519,6 +517,7 @@ extern void *__pthread_getspecific (pthread_key_t key);
extern int __pthread_setspecific (pthread_key_t key, const void *value);
extern int __pthread_once (pthread_once_t *once_control,
void (*init_routine) (void));
+libc_hidden_proto (__pthread_once)
extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void),
void (*child) (void));
extern pthread_t __pthread_self (void);
@@ -551,7 +550,6 @@ hidden_proto (__pthread_rwlock_unlock)
hidden_proto (__pthread_key_create)
hidden_proto (__pthread_getspecific)
hidden_proto (__pthread_setspecific)
-hidden_proto (__pthread_once)
hidden_proto (__pthread_setcancelstate)
hidden_proto (__pthread_testcancel)
hidden_proto (__pthread_mutexattr_init)
diff --git a/nptl/pthread_once.c b/nptl/pthread_once.c
index 7645da222a..7335150485 100644
--- a/nptl/pthread_once.c
+++ b/nptl/pthread_once.c
@@ -19,7 +19,9 @@
#include "pthreadP.h"
#include <futex-internal.h>
#include <atomic.h>
-
+#include <libc-lockP.h>
+#include <fork.h>
+#include <shlib-compat.h>
unsigned long int __fork_generation attribute_hidden;
@@ -132,7 +134,7 @@ __pthread_once_slow (pthread_once_t *once_control, void (*init_routine) (void))
}
int
-__pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
+__pthread_once_1 (pthread_once_t *once_control, void (*init_routine) (void))
{
/* Fast path. See __pthread_once_slow. */
int val;
@@ -142,5 +144,16 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void))
else
return __pthread_once_slow (once_control, init_routine);
}
-weak_alias (__pthread_once, pthread_once)
-hidden_def (__pthread_once)
+versioned_symbol (libc, __pthread_once_1, __pthread_once, GLIBC_2_34);
+libc_hidden_ver (__pthread_once_1, __pthread_once)
+
+/* Several aliases for setting different symbol versions. */
+strong_alias (__pthread_once_1, __pthread_once_2)
+strong_alias (__pthread_once_1, __pthread_once_3)
+strong_alias (__pthread_once_1, __pthread_once_4)
+
+versioned_symbol (libc, __pthread_once_2, pthread_once, GLIBC_2_34);
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libc, __pthread_once_3, __pthread_once, GLIBC_2_0);
+compat_symbol (libc, __pthread_once_4, pthread_once, GLIBC_2_0);
+#endif
diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
index f78267b68c..ffc8f9d041 100644
--- a/sysdeps/nptl/fork.c
+++ b/sysdeps/nptl/fork.c
@@ -88,8 +88,7 @@ __libc_fork (void)
struct pthread *self = THREAD_SELF;
/* See __pthread_once. */
- if (__fork_generation_pointer != NULL)
- *__fork_generation_pointer += __PTHREAD_ONCE_FORK_GEN_INCR;
+ __fork_generation += __PTHREAD_ONCE_FORK_GEN_INCR;
/* Initialize the robust mutex list setting in the kernel which has
been reset during the fork. We do not check for errors because if
diff --git a/sysdeps/nptl/fork.h b/sysdeps/nptl/fork.h
index 5246754290..a2a1ad8265 100644
--- a/sysdeps/nptl/fork.h
+++ b/sysdeps/nptl/fork.h
@@ -21,6 +21,3 @@
/* The fork generation counter, defined in libpthread. */
extern unsigned long int __fork_generation attribute_hidden;
-
-/* Pointer to the fork generation counter in the thread library. */
-extern unsigned long int *__fork_generation_pointer attribute_hidden;
diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h
index 1a861b0d3f..9550bc37e4 100644
--- a/sysdeps/nptl/libc-lockP.h
+++ b/sysdeps/nptl/libc-lockP.h
@@ -238,15 +238,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0");
/* Call handler iff the first call. */
#define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \
- do { \
- if (PTFAVAIL (__pthread_once)) \
- __libc_ptf_call_always (__pthread_once, (&(ONCE_CONTROL), \
- INIT_FUNCTION)); \
- else if ((ONCE_CONTROL) == PTHREAD_ONCE_INIT) { \
- INIT_FUNCTION (); \
- (ONCE_CONTROL) |= 2; \
- } \
- } while (0)
+ __pthread_once (&(ONCE_CONTROL), INIT_FUNCTION)
/* Get once control variable. */
#define __libc_once_get(ONCE_CONTROL) ((ONCE_CONTROL) != PTHREAD_ONCE_INIT)
@@ -342,6 +334,7 @@ extern void *__pthread_getspecific (pthread_key_t __key);
extern int __pthread_once (pthread_once_t *__once_control,
void (*__init_routine) (void));
+libc_hidden_proto (__pthread_once)
extern int __pthread_atfork (void (*__prepare) (void),
void (*__parent) (void),
@@ -372,7 +365,6 @@ weak_extern (__pthread_rwlock_unlock)
weak_extern (__pthread_key_create)
weak_extern (__pthread_setspecific)
weak_extern (__pthread_getspecific)
-weak_extern (__pthread_once)
weak_extern (__pthread_initialize)
weak_extern (__pthread_atfork)
weak_extern (__pthread_setcancelstate)
@@ -394,7 +386,6 @@ weak_extern (__pthread_setcancelstate)
# pragma weak __pthread_key_create
# pragma weak __pthread_setspecific
# pragma weak __pthread_getspecific
-# pragma weak __pthread_once
# pragma weak __pthread_initialize
# pragma weak __pthread_atfork
# pragma weak __pthread_setcancelstate
diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
index 1bbe609598..6ef7602cb9 100644
--- a/sysdeps/nptl/pthread-functions.h
+++ b/sysdeps/nptl/pthread-functions.h
@@ -49,7 +49,6 @@ struct pthread_functions
int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
int (*ptr___pthread_setcancelstate) (int, int *);
int (*ptr_pthread_setcanceltype) (int, int *);
- int (*ptr___pthread_once) (pthread_once_t *, void (*) (void));
int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *);
int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *);
int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index a585f7d30d..8a11066f9e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -339,6 +339,7 @@ GLIBC_2.17 __profile_frequency F
GLIBC_2.17 __progname D 0x8
GLIBC_2.17 __progname_full D 0x8
GLIBC_2.17 __pthread_cleanup_routine F
+GLIBC_2.17 __pthread_once F
GLIBC_2.17 __ptsname_r_chk F
GLIBC_2.17 __pwrite64 F
GLIBC_2.17 __rawmemchr F
@@ -1453,6 +1454,7 @@ GLIBC_2.17 pthread_mutex_destroy F
GLIBC_2.17 pthread_mutex_init F
GLIBC_2.17 pthread_mutex_lock F
GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_once F
GLIBC_2.17 pthread_self F
GLIBC_2.17 pthread_setcancelstate F
GLIBC_2.17 pthread_setcanceltype F
@@ -2180,4 +2182,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index b3888dc90f..ab3f97c693 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
GLIBC_2.17 __pthread_mutexattr_settype F
-GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_register_cancel F
GLIBC_2.17 __pthread_register_cancel_defer F
GLIBC_2.17 __pthread_rwlock_destroy F
@@ -108,7 +107,6 @@ GLIBC_2.17 pthread_mutexattr_setpshared F
GLIBC_2.17 pthread_mutexattr_setrobust F
GLIBC_2.17 pthread_mutexattr_setrobust_np F
GLIBC_2.17 pthread_mutexattr_settype F
-GLIBC_2.17 pthread_once F
GLIBC_2.17 pthread_rwlock_destroy F
GLIBC_2.17 pthread_rwlock_init F
GLIBC_2.17 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index c9ac935ccf..b62c855163 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -188,6 +188,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x8
GLIBC_2.0 __progname_full D 0x8
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x8
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x8
@@ -891,6 +892,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2261,7 +2263,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 2caa9851b2..c68aa38952 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 27fecc5c8a..cd549c654b 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -328,6 +328,7 @@ GLIBC_2.32 __profile_frequency F
GLIBC_2.32 __progname D 0x4
GLIBC_2.32 __progname_full D 0x4
GLIBC_2.32 __pthread_cleanup_routine F
+GLIBC_2.32 __pthread_once F
GLIBC_2.32 __ptsname_r_chk F
GLIBC_2.32 __pwrite64 F
GLIBC_2.32 __rawmemchr F
@@ -1380,6 +1381,7 @@ GLIBC_2.32 pthread_mutex_destroy F
GLIBC_2.32 pthread_mutex_init F
GLIBC_2.32 pthread_mutex_lock F
GLIBC_2.32 pthread_mutex_unlock F
+GLIBC_2.32 pthread_once F
GLIBC_2.32 pthread_self F
GLIBC_2.32 pthread_setcancelstate F
GLIBC_2.32 pthread_setcanceltype F
@@ -1940,4 +1942,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index b3d7dad6e3..8b4068d60a 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.32 __pthread_mutex_unlock F
GLIBC_2.32 __pthread_mutexattr_destroy F
GLIBC_2.32 __pthread_mutexattr_init F
GLIBC_2.32 __pthread_mutexattr_settype F
-GLIBC_2.32 __pthread_once F
GLIBC_2.32 __pthread_register_cancel F
GLIBC_2.32 __pthread_register_cancel_defer F
GLIBC_2.32 __pthread_rwlock_destroy F
@@ -125,7 +124,6 @@ GLIBC_2.32 pthread_mutexattr_setpshared F
GLIBC_2.32 pthread_mutexattr_setrobust F
GLIBC_2.32 pthread_mutexattr_setrobust_np F
GLIBC_2.32 pthread_mutexattr_settype F
-GLIBC_2.32 pthread_once F
GLIBC_2.32 pthread_rwlock_clockrdlock F
GLIBC_2.32 pthread_rwlock_clockwrlock F
GLIBC_2.32 pthread_rwlock_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 2383d95094..03e5389852 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -158,7 +158,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -487,6 +489,7 @@ GLIBC_2.4 __profile_frequency F
GLIBC_2.4 __progname D 0x4
GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
+GLIBC_2.4 __pthread_once F
GLIBC_2.4 __ptsname_r_chk F
GLIBC_2.4 __pwrite64 F
GLIBC_2.4 __rawmemchr F
@@ -1548,6 +1551,7 @@ GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_init F
GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_self F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 8f5d9c6226..06ca12dc48 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -54,7 +54,6 @@ GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
-GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_register_cancel F
GLIBC_2.4 __pthread_register_cancel_defer F
GLIBC_2.4 __pthread_rwlock_destroy F
@@ -139,7 +138,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F
GLIBC_2.4 pthread_mutexattr_setpshared F
GLIBC_2.4 pthread_mutexattr_setrobust_np F
GLIBC_2.4 pthread_mutexattr_settype F
-GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_rwlock_destroy F
GLIBC_2.4 pthread_rwlock_init F
GLIBC_2.4 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index bb46b8b5e3..ac2fcf7b14 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -155,7 +155,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -484,6 +486,7 @@ GLIBC_2.4 __profile_frequency F
GLIBC_2.4 __progname D 0x4
GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
+GLIBC_2.4 __pthread_once F
GLIBC_2.4 __ptsname_r_chk F
GLIBC_2.4 __pwrite64 F
GLIBC_2.4 __rawmemchr F
@@ -1545,6 +1548,7 @@ GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_init F
GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_self F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 8f5d9c6226..06ca12dc48 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -54,7 +54,6 @@ GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
-GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_register_cancel F
GLIBC_2.4 __pthread_register_cancel_defer F
GLIBC_2.4 __pthread_rwlock_destroy F
@@ -139,7 +138,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F
GLIBC_2.4 pthread_mutexattr_setpshared F
GLIBC_2.4 pthread_mutexattr_setrobust_np F
GLIBC_2.4 pthread_mutexattr_settype F
-GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_rwlock_destroy F
GLIBC_2.4 pthread_rwlock_init F
GLIBC_2.4 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 684e451f83..336a59110e 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -332,6 +332,7 @@ GLIBC_2.29 __profile_frequency F
GLIBC_2.29 __progname D 0x4
GLIBC_2.29 __progname_full D 0x4
GLIBC_2.29 __pthread_cleanup_routine F
+GLIBC_2.29 __pthread_once F
GLIBC_2.29 __ptsname_r_chk F
GLIBC_2.29 __pwrite64 F
GLIBC_2.29 __rawmemchr F
@@ -1441,6 +1442,7 @@ GLIBC_2.29 pthread_mutex_destroy F
GLIBC_2.29 pthread_mutex_init F
GLIBC_2.29 pthread_mutex_lock F
GLIBC_2.29 pthread_mutex_unlock F
+GLIBC_2.29 pthread_once F
GLIBC_2.29 pthread_self F
GLIBC_2.29 pthread_setcancelstate F
GLIBC_2.29 pthread_setcanceltype F
@@ -2124,4 +2126,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 98af0ffe30..cc7d5bb6b8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.29 __pthread_mutex_unlock F
GLIBC_2.29 __pthread_mutexattr_destroy F
GLIBC_2.29 __pthread_mutexattr_init F
GLIBC_2.29 __pthread_mutexattr_settype F
-GLIBC_2.29 __pthread_once F
GLIBC_2.29 __pthread_register_cancel F
GLIBC_2.29 __pthread_register_cancel_defer F
GLIBC_2.29 __pthread_rwlock_destroy F
@@ -122,7 +121,6 @@ GLIBC_2.29 pthread_mutexattr_setpshared F
GLIBC_2.29 pthread_mutexattr_setrobust F
GLIBC_2.29 pthread_mutexattr_setrobust_np F
GLIBC_2.29 pthread_mutexattr_settype F
-GLIBC_2.29 pthread_once F
GLIBC_2.29 pthread_rwlock_destroy F
GLIBC_2.29 pthread_rwlock_init F
GLIBC_2.29 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 8dde237f8b..6d40c40268 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -356,6 +356,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1275,6 +1276,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2082,7 +2084,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 23a9d4db02..1c684862e8 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index cc2226be23..2022f82d81 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -868,6 +869,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2249,7 +2251,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 3389140682..2f2a590098 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 438f3bd131..b9eeaabb01 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -360,6 +360,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1296,6 +1297,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2114,7 +2116,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 5b59d9b452..080601843a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 5add3e607a..5a099fb3d0 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -159,7 +159,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _Exit F
GLIBC_2.4 _IO_2_1_stderr_ D 0x98
GLIBC_2.4 _IO_2_1_stdin_ D 0x98
@@ -473,6 +475,7 @@ GLIBC_2.4 __profile_frequency F
GLIBC_2.4 __progname D 0x4
GLIBC_2.4 __progname_full D 0x4
GLIBC_2.4 __pthread_cleanup_routine F
+GLIBC_2.4 __pthread_once F
GLIBC_2.4 __ptsname_r_chk F
GLIBC_2.4 __pwrite64 F
GLIBC_2.4 __rawmemchr F
@@ -1528,6 +1531,7 @@ GLIBC_2.4 pthread_mutex_destroy F
GLIBC_2.4 pthread_mutex_init F
GLIBC_2.4 pthread_mutex_lock F
GLIBC_2.4 pthread_mutex_unlock F
+GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_self F
GLIBC_2.4 pthread_setcancelstate F
GLIBC_2.4 pthread_setcanceltype F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 8f5d9c6226..06ca12dc48 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -54,7 +54,6 @@ GLIBC_2.4 __pthread_mutex_unlock F
GLIBC_2.4 __pthread_mutexattr_destroy F
GLIBC_2.4 __pthread_mutexattr_init F
GLIBC_2.4 __pthread_mutexattr_settype F
-GLIBC_2.4 __pthread_once F
GLIBC_2.4 __pthread_register_cancel F
GLIBC_2.4 __pthread_register_cancel_defer F
GLIBC_2.4 __pthread_rwlock_destroy F
@@ -139,7 +138,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F
GLIBC_2.4 pthread_mutexattr_setpshared F
GLIBC_2.4 pthread_mutexattr_setrobust_np F
GLIBC_2.4 pthread_mutexattr_settype F
-GLIBC_2.4 pthread_once F
GLIBC_2.4 pthread_rwlock_destroy F
GLIBC_2.4 pthread_rwlock_init F
GLIBC_2.4 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 2e7c9f9b47..f81c9cc523 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -867,6 +868,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2194,7 +2196,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 3389140682..2f2a590098 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 493f7ddaa0..ce50516bc6 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -340,6 +340,7 @@ GLIBC_2.18 __profile_frequency F
GLIBC_2.18 __progname D 0x4
GLIBC_2.18 __progname_full D 0x4
GLIBC_2.18 __pthread_cleanup_routine F
+GLIBC_2.18 __pthread_once F
GLIBC_2.18 __ptsname_r_chk F
GLIBC_2.18 __pwrite64 F
GLIBC_2.18 __rawmemchr F
@@ -1456,6 +1457,7 @@ GLIBC_2.18 pthread_mutex_destroy F
GLIBC_2.18 pthread_mutex_init F
GLIBC_2.18 pthread_mutex_lock F
GLIBC_2.18 pthread_mutex_unlock F
+GLIBC_2.18 pthread_once F
GLIBC_2.18 pthread_self F
GLIBC_2.18 pthread_setcancelstate F
GLIBC_2.18 pthread_setcanceltype F
@@ -2175,4 +2177,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index c7aefbe53e..7e14dda1eb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_mutexattr_destroy F
GLIBC_2.18 __pthread_mutexattr_init F
GLIBC_2.18 __pthread_mutexattr_settype F
-GLIBC_2.18 __pthread_once F
GLIBC_2.18 __pthread_register_cancel F
GLIBC_2.18 __pthread_register_cancel_defer F
GLIBC_2.18 __pthread_rwlock_destroy F
@@ -109,7 +108,6 @@ GLIBC_2.18 pthread_mutexattr_setpshared F
GLIBC_2.18 pthread_mutexattr_setrobust F
GLIBC_2.18 pthread_mutexattr_setrobust_np F
GLIBC_2.18 pthread_mutexattr_settype F
-GLIBC_2.18 pthread_once F
GLIBC_2.18 pthread_rwlock_destroy F
GLIBC_2.18 pthread_rwlock_init F
GLIBC_2.18 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index ec83b89aa3..37ecc7c967 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -340,6 +340,7 @@ GLIBC_2.18 __profile_frequency F
GLIBC_2.18 __progname D 0x4
GLIBC_2.18 __progname_full D 0x4
GLIBC_2.18 __pthread_cleanup_routine F
+GLIBC_2.18 __pthread_once F
GLIBC_2.18 __ptsname_r_chk F
GLIBC_2.18 __pwrite64 F
GLIBC_2.18 __rawmemchr F
@@ -1456,6 +1457,7 @@ GLIBC_2.18 pthread_mutex_destroy F
GLIBC_2.18 pthread_mutex_init F
GLIBC_2.18 pthread_mutex_lock F
GLIBC_2.18 pthread_mutex_unlock F
+GLIBC_2.18 pthread_once F
GLIBC_2.18 pthread_self F
GLIBC_2.18 pthread_setcancelstate F
GLIBC_2.18 pthread_setcanceltype F
@@ -2172,4 +2174,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index c7aefbe53e..7e14dda1eb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.18 __pthread_mutex_unlock F
GLIBC_2.18 __pthread_mutexattr_destroy F
GLIBC_2.18 __pthread_mutexattr_init F
GLIBC_2.18 __pthread_mutexattr_settype F
-GLIBC_2.18 __pthread_once F
GLIBC_2.18 __pthread_register_cancel F
GLIBC_2.18 __pthread_register_cancel_defer F
GLIBC_2.18 __pthread_rwlock_destroy F
@@ -109,7 +108,6 @@ GLIBC_2.18 pthread_mutexattr_setpshared F
GLIBC_2.18 pthread_mutexattr_setrobust F
GLIBC_2.18 pthread_mutexattr_setrobust_np F
GLIBC_2.18 pthread_mutexattr_settype F
-GLIBC_2.18 pthread_once F
GLIBC_2.18 pthread_rwlock_destroy F
GLIBC_2.18 pthread_rwlock_init F
GLIBC_2.18 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index cb0ab4bc19..6d50fcc64f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2165,7 +2167,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 6e223d495d..4f9309f61c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 2be2623e99..b4e05e270d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2163,7 +2165,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 6e223d495d..4f9309f61c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 09147861b5..71d184c2aa 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2171,7 +2173,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 4a0208c8c8..1e792c6705 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x8
GLIBC_2.0 __progname_full D 0x8
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x8
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x8
@@ -862,6 +863,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2165,7 +2167,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 078025a7d6..5afc3e8022 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -377,6 +377,7 @@ GLIBC_2.21 __profile_frequency F
GLIBC_2.21 __progname D 0x4
GLIBC_2.21 __progname_full D 0x4
GLIBC_2.21 __pthread_cleanup_routine F
+GLIBC_2.21 __pthread_once F
GLIBC_2.21 __ptsname_r_chk F
GLIBC_2.21 __pwrite64 F
GLIBC_2.21 __rawmemchr F
@@ -1498,6 +1499,7 @@ GLIBC_2.21 pthread_mutex_destroy F
GLIBC_2.21 pthread_mutex_init F
GLIBC_2.21 pthread_mutex_lock F
GLIBC_2.21 pthread_mutex_unlock F
+GLIBC_2.21 pthread_once F
GLIBC_2.21 pthread_self F
GLIBC_2.21 pthread_setcancelstate F
GLIBC_2.21 pthread_setcanceltype F
@@ -2213,4 +2215,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 6ebfbec2f2..10dda663fc 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.21 __pthread_mutex_unlock F
GLIBC_2.21 __pthread_mutexattr_destroy F
GLIBC_2.21 __pthread_mutexattr_init F
GLIBC_2.21 __pthread_mutexattr_settype F
-GLIBC_2.21 __pthread_once F
GLIBC_2.21 __pthread_register_cancel F
GLIBC_2.21 __pthread_register_cancel_defer F
GLIBC_2.21 __pthread_rwlock_destroy F
@@ -109,7 +108,6 @@ GLIBC_2.21 pthread_mutexattr_setpshared F
GLIBC_2.21 pthread_mutexattr_setrobust F
GLIBC_2.21 pthread_mutexattr_setrobust_np F
GLIBC_2.21 pthread_mutexattr_settype F
-GLIBC_2.21 pthread_once F
GLIBC_2.21 pthread_rwlock_destroy F
GLIBC_2.21 pthread_rwlock_init F
GLIBC_2.21 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index bc79b844a5..4bfae8faa6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -194,6 +194,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -875,6 +876,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2221,7 +2223,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 8ff21429c1..00bcf6a22b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 63c05472ed..dc102f7f29 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -194,6 +194,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -875,6 +876,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2254,7 +2256,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 37e4ee564d..9f019c4eac 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -409,6 +409,7 @@ GLIBC_2.3 __printf_fp F
GLIBC_2.3 __profile_frequency F
GLIBC_2.3 __progname D 0x8
GLIBC_2.3 __progname_full D 0x8
+GLIBC_2.3 __pthread_once F
GLIBC_2.3 __pwrite64 F
GLIBC_2.3 __rawmemchr F
GLIBC_2.3 __rcmd_errstr D 0x8
@@ -1382,6 +1383,7 @@ GLIBC_2.3 pthread_mutex_destroy F
GLIBC_2.3 pthread_mutex_init F
GLIBC_2.3 pthread_mutex_lock F
GLIBC_2.3 pthread_mutex_unlock F
+GLIBC_2.3 pthread_once F
GLIBC_2.3 pthread_self F
GLIBC_2.3 pthread_setcancelstate F
GLIBC_2.3 pthread_setcanceltype F
@@ -2084,7 +2086,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 122823defd..9df36b1516 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -48,7 +48,6 @@ GLIBC_2.3 __pthread_mutex_unlock F
GLIBC_2.3 __pthread_mutexattr_destroy F
GLIBC_2.3 __pthread_mutexattr_init F
GLIBC_2.3 __pthread_mutexattr_settype F
-GLIBC_2.3 __pthread_once F
GLIBC_2.3 __pthread_rwlock_destroy F
GLIBC_2.3 __pthread_rwlock_init F
GLIBC_2.3 __pthread_rwlock_rdlock F
@@ -116,7 +115,6 @@ GLIBC_2.3 pthread_mutexattr_init F
GLIBC_2.3 pthread_mutexattr_setkind_np F
GLIBC_2.3 pthread_mutexattr_setpshared F
GLIBC_2.3 pthread_mutexattr_settype F
-GLIBC_2.3 pthread_once F
GLIBC_2.3 pthread_rwlock_destroy F
GLIBC_2.3 pthread_rwlock_init F
GLIBC_2.3 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 1888ec6e86..f1217ffca5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -425,6 +425,7 @@ GLIBC_2.17 __profile_frequency F
GLIBC_2.17 __progname D 0x8
GLIBC_2.17 __progname_full D 0x8
GLIBC_2.17 __pthread_cleanup_routine F
+GLIBC_2.17 __pthread_once F
GLIBC_2.17 __ptsname_r_chk F
GLIBC_2.17 __pwrite64 F
GLIBC_2.17 __rawmemchr F
@@ -1542,6 +1543,7 @@ GLIBC_2.17 pthread_mutex_destroy F
GLIBC_2.17 pthread_mutex_init F
GLIBC_2.17 pthread_mutex_lock F
GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_once F
GLIBC_2.17 pthread_self F
GLIBC_2.17 pthread_setcancelstate F
GLIBC_2.17 pthread_setcanceltype F
@@ -2375,4 +2377,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index b3888dc90f..ab3f97c693 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.17 __pthread_mutex_unlock F
GLIBC_2.17 __pthread_mutexattr_destroy F
GLIBC_2.17 __pthread_mutexattr_init F
GLIBC_2.17 __pthread_mutexattr_settype F
-GLIBC_2.17 __pthread_once F
GLIBC_2.17 __pthread_register_cancel F
GLIBC_2.17 __pthread_register_cancel_defer F
GLIBC_2.17 __pthread_rwlock_destroy F
@@ -108,7 +107,6 @@ GLIBC_2.17 pthread_mutexattr_setpshared F
GLIBC_2.17 pthread_mutexattr_setrobust F
GLIBC_2.17 pthread_mutexattr_setrobust_np F
GLIBC_2.17 pthread_mutexattr_settype F
-GLIBC_2.17 pthread_once F
GLIBC_2.17 pthread_rwlock_destroy F
GLIBC_2.17 pthread_rwlock_init F
GLIBC_2.17 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 8cd92b1abe..afaabf996e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -325,6 +325,7 @@ GLIBC_2.33 __profile_frequency F
GLIBC_2.33 __progname D 0x4
GLIBC_2.33 __progname_full D 0x4
GLIBC_2.33 __pthread_cleanup_routine F
+GLIBC_2.33 __pthread_once F
GLIBC_2.33 __ptsname_r_chk F
GLIBC_2.33 __pwrite64 F
GLIBC_2.33 __rawmemchr F
@@ -1382,6 +1383,7 @@ GLIBC_2.33 pthread_mutex_destroy F
GLIBC_2.33 pthread_mutex_init F
GLIBC_2.33 pthread_mutex_lock F
GLIBC_2.33 pthread_mutex_unlock F
+GLIBC_2.33 pthread_once F
GLIBC_2.33 pthread_self F
GLIBC_2.33 pthread_setcancelstate F
GLIBC_2.33 pthread_setcanceltype F
@@ -1942,4 +1944,6 @@ GLIBC_2.33 writev F
GLIBC_2.33 wscanf F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 0380ae1c62..607a245daa 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.33 __pthread_mutex_unlock F
GLIBC_2.33 __pthread_mutexattr_destroy F
GLIBC_2.33 __pthread_mutexattr_init F
GLIBC_2.33 __pthread_mutexattr_settype F
-GLIBC_2.33 __pthread_once F
GLIBC_2.33 __pthread_register_cancel F
GLIBC_2.33 __pthread_register_cancel_defer F
GLIBC_2.33 __pthread_rwlock_destroy F
@@ -125,7 +124,6 @@ GLIBC_2.33 pthread_mutexattr_setpshared F
GLIBC_2.33 pthread_mutexattr_setrobust F
GLIBC_2.33 pthread_mutexattr_setrobust_np F
GLIBC_2.33 pthread_mutexattr_settype F
-GLIBC_2.33 pthread_once F
GLIBC_2.33 pthread_rwlock_clockrdlock F
GLIBC_2.33 pthread_rwlock_clockwrlock F
GLIBC_2.33 pthread_rwlock_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 894f01282f..28563980d5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -336,6 +336,7 @@ GLIBC_2.27 __profile_frequency F
GLIBC_2.27 __progname D 0x8
GLIBC_2.27 __progname_full D 0x8
GLIBC_2.27 __pthread_cleanup_routine F
+GLIBC_2.27 __pthread_once F
GLIBC_2.27 __ptsname_r_chk F
GLIBC_2.27 __pwrite64 F
GLIBC_2.27 __rawmemchr F
@@ -1444,6 +1445,7 @@ GLIBC_2.27 pthread_mutex_destroy F
GLIBC_2.27 pthread_mutex_init F
GLIBC_2.27 pthread_mutex_lock F
GLIBC_2.27 pthread_mutex_unlock F
+GLIBC_2.27 pthread_once F
GLIBC_2.27 pthread_self F
GLIBC_2.27 pthread_setcancelstate F
GLIBC_2.27 pthread_setcanceltype F
@@ -2142,4 +2144,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 62f09d03d0..d8c002deb5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.27 __pthread_mutex_unlock F
GLIBC_2.27 __pthread_mutexattr_destroy F
GLIBC_2.27 __pthread_mutexattr_init F
GLIBC_2.27 __pthread_mutexattr_settype F
-GLIBC_2.27 __pthread_once F
GLIBC_2.27 __pthread_register_cancel F
GLIBC_2.27 __pthread_register_cancel_defer F
GLIBC_2.27 __pthread_rwlock_destroy F
@@ -109,7 +108,6 @@ GLIBC_2.27 pthread_mutexattr_setpshared F
GLIBC_2.27 pthread_mutexattr_setrobust F
GLIBC_2.27 pthread_mutexattr_setrobust_np F
GLIBC_2.27 pthread_mutexattr_settype F
-GLIBC_2.27 pthread_once F
GLIBC_2.27 pthread_rwlock_destroy F
GLIBC_2.27 pthread_rwlock_init F
GLIBC_2.27 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 8788493ce0..6cfde17d64 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -866,6 +867,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2219,7 +2221,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index a622c3d475..04d91c6a25 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 4596ab72b0..16b2483535 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -370,6 +370,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1293,6 +1294,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2120,7 +2122,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index c5c606a07c..5e510e851b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -28,7 +28,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -97,7 +96,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index ae16394e8a..a6fd6eb894 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -359,6 +359,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1279,6 +1280,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2089,7 +2091,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 23a9d4db02..1c684862e8 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 6e45427e90..f4ba7b4ee8 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -359,6 +359,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x4
GLIBC_2.2 __progname_full D 0x4
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x4
@@ -1279,6 +1280,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2086,7 +2088,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 23a9d4db02..1c684862e8 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 080a036590..70c2a92dfc 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -189,6 +189,7 @@ GLIBC_2.0 __printf_fp F
GLIBC_2.0 __profile_frequency F
GLIBC_2.0 __progname D 0x4
GLIBC_2.0 __progname_full D 0x4
+GLIBC_2.0 __pthread_once F
GLIBC_2.0 __rcmd_errstr D 0x4
GLIBC_2.0 __read F
GLIBC_2.0 __realloc_hook D 0x4
@@ -869,6 +870,7 @@ GLIBC_2.0 pthread_mutex_destroy F
GLIBC_2.0 pthread_mutex_init F
GLIBC_2.0 pthread_mutex_lock F
GLIBC_2.0 pthread_mutex_unlock F
+GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_self F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
@@ -2210,7 +2212,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 _IO_fprintf F
GLIBC_2.4 _IO_printf F
GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 2caa9851b2..c68aa38952 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutex_unlock F
GLIBC_2.0 __pthread_mutexattr_destroy F
GLIBC_2.0 __pthread_mutexattr_init F
GLIBC_2.0 __pthread_mutexattr_settype F
-GLIBC_2.0 __pthread_once F
GLIBC_2.0 __pthread_setspecific F
GLIBC_2.0 __send F
GLIBC_2.0 __sigaction F
@@ -48,7 +47,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F
GLIBC_2.0 pthread_mutexattr_getkind_np F
GLIBC_2.0 pthread_mutexattr_init F
GLIBC_2.0 pthread_mutexattr_setkind_np F
-GLIBC_2.0 pthread_once F
GLIBC_2.0 pthread_setcancelstate F
GLIBC_2.0 pthread_setcanceltype F
GLIBC_2.0 pthread_setspecific F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index c8fb7da49f..6f323b3705 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -397,6 +397,7 @@ GLIBC_2.2 __printf_fp F
GLIBC_2.2 __profile_frequency F
GLIBC_2.2 __progname D 0x8
GLIBC_2.2 __progname_full D 0x8
+GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pwrite64 F
GLIBC_2.2 __rawmemchr F
GLIBC_2.2 __rcmd_errstr D 0x8
@@ -1322,6 +1323,7 @@ GLIBC_2.2 pthread_mutex_destroy F
GLIBC_2.2 pthread_mutex_init F
GLIBC_2.2 pthread_mutex_lock F
GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_self F
GLIBC_2.2 pthread_setcancelstate F
GLIBC_2.2 pthread_setcanceltype F
@@ -2137,7 +2139,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 5b59d9b452..080601843a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2 __pthread_mutex_unlock F
GLIBC_2.2 __pthread_mutexattr_destroy F
GLIBC_2.2 __pthread_mutexattr_init F
GLIBC_2.2 __pthread_mutexattr_settype F
-GLIBC_2.2 __pthread_once F
GLIBC_2.2 __pthread_rwlock_destroy F
GLIBC_2.2 __pthread_rwlock_init F
GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2 pthread_mutexattr_init F
GLIBC_2.2 pthread_mutexattr_setkind_np F
GLIBC_2.2 pthread_mutexattr_setpshared F
GLIBC_2.2 pthread_mutexattr_settype F
-GLIBC_2.2 pthread_once F
GLIBC_2.2 pthread_rwlock_destroy F
GLIBC_2.2 pthread_rwlock_init F
GLIBC_2.2 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index cde6fdb49d..35503c7361 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -358,6 +358,7 @@ GLIBC_2.2.5 __printf_fp F
GLIBC_2.2.5 __profile_frequency F
GLIBC_2.2.5 __progname D 0x8
GLIBC_2.2.5 __progname_full D 0x8
+GLIBC_2.2.5 __pthread_once F
GLIBC_2.2.5 __pwrite64 F
GLIBC_2.2.5 __rawmemchr F
GLIBC_2.2.5 __rcmd_errstr D 0x8
@@ -1290,6 +1291,7 @@ GLIBC_2.2.5 pthread_mutex_destroy F
GLIBC_2.2.5 pthread_mutex_init F
GLIBC_2.2.5 pthread_mutex_lock F
GLIBC_2.2.5 pthread_mutex_unlock F
+GLIBC_2.2.5 pthread_once F
GLIBC_2.2.5 pthread_self F
GLIBC_2.2.5 pthread_setcancelstate F
GLIBC_2.2.5 pthread_setcanceltype F
@@ -2096,7 +2098,9 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index c5be5cf83e..7e9ba589db 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -27,7 +27,6 @@ GLIBC_2.2.5 __pthread_mutex_unlock F
GLIBC_2.2.5 __pthread_mutexattr_destroy F
GLIBC_2.2.5 __pthread_mutexattr_init F
GLIBC_2.2.5 __pthread_mutexattr_settype F
-GLIBC_2.2.5 __pthread_once F
GLIBC_2.2.5 __pthread_rwlock_destroy F
GLIBC_2.2.5 __pthread_rwlock_init F
GLIBC_2.2.5 __pthread_rwlock_rdlock F
@@ -96,7 +95,6 @@ GLIBC_2.2.5 pthread_mutexattr_init F
GLIBC_2.2.5 pthread_mutexattr_setkind_np F
GLIBC_2.2.5 pthread_mutexattr_setpshared F
GLIBC_2.2.5 pthread_mutexattr_settype F
-GLIBC_2.2.5 pthread_once F
GLIBC_2.2.5 pthread_rwlock_destroy F
GLIBC_2.2.5 pthread_rwlock_init F
GLIBC_2.2.5 pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index e772da1ec4..3af0b4def9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -340,6 +340,7 @@ GLIBC_2.16 __profile_frequency F
GLIBC_2.16 __progname D 0x4
GLIBC_2.16 __progname_full D 0x4
GLIBC_2.16 __pthread_cleanup_routine F
+GLIBC_2.16 __pthread_once F
GLIBC_2.16 __ptsname_r_chk F
GLIBC_2.16 __pwrite64 F
GLIBC_2.16 __rawmemchr F
@@ -1461,6 +1462,7 @@ GLIBC_2.16 pthread_mutex_destroy F
GLIBC_2.16 pthread_mutex_init F
GLIBC_2.16 pthread_mutex_lock F
GLIBC_2.16 pthread_mutex_unlock F
+GLIBC_2.16 pthread_once F
GLIBC_2.16 pthread_self F
GLIBC_2.16 pthread_setcancelstate F
GLIBC_2.16 pthread_setcanceltype F
@@ -2194,4 +2196,6 @@ GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __pthread_cleanup_routine F
+GLIBC_2.34 __pthread_once F
GLIBC_2.34 pthread_mutex_consistent F
+GLIBC_2.34 pthread_once F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 77cb25a4d5..670463f29f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -20,7 +20,6 @@ GLIBC_2.16 __pthread_mutex_unlock F
GLIBC_2.16 __pthread_mutexattr_destroy F
GLIBC_2.16 __pthread_mutexattr_init F
GLIBC_2.16 __pthread_mutexattr_settype F
-GLIBC_2.16 __pthread_once F
GLIBC_2.16 __pthread_register_cancel F
GLIBC_2.16 __pthread_register_cancel_defer F
GLIBC_2.16 __pthread_rwlock_destroy F
@@ -108,7 +107,6 @@ GLIBC_2.16 pthread_mutexattr_setpshared F
GLIBC_2.16 pthread_mutexattr_setrobust F
GLIBC_2.16 pthread_mutexattr_setrobust_np F
GLIBC_2.16 pthread_mutexattr_settype F
-GLIBC_2.16 pthread_once F
GLIBC_2.16 pthread_rwlock_destroy F
GLIBC_2.16 pthread_rwlock_init F
GLIBC_2.16 pthread_rwlock_rdlock F