From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-3.7 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,NICE_REPLY_A, RCVD_IN_DNSWL_MED,RDNS_DYNAMIC,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 15CFD1F5AE for ; Sun, 2 May 2021 20:46:32 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3C3DE3896813; Sun, 2 May 2021 20:46:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3C3DE3896813 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1619988389; bh=5blX+86IDmNuj6Gkh9+Dmz1nxXUaAo7zjxIRbTdF0b4=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=IvG+umcVmfFmw8mjHznEthrp9+TmuACTyz5Mt6nZQstRERieevy7mcutn29KeYyvt FCJZqOh49SuckIPwh2pVjPO6FUipP2qxTJVBY1ZS80XmOE282eFKM3CFrXRRaKvm4H lhNKd3o2+4jY4UP8m4rzbuZ/GXofcozPF0KTKNk0= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 1DA4C386EC4D for ; Sun, 2 May 2021 20:46:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1DA4C386EC4D Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-559-T0do4dLAPHWmPp95H4wBdw-1; Sun, 02 May 2021 16:46:19 -0400 X-MC-Unique: T0do4dLAPHWmPp95H4wBdw-1 Received: by mail-qk1-f199.google.com with SMTP id u9-20020a05620a4549b02902e956c2a3c8so3668136qkp.20 for ; Sun, 02 May 2021 13:46:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=5blX+86IDmNuj6Gkh9+Dmz1nxXUaAo7zjxIRbTdF0b4=; b=BzlN9HPI0/H4Ghbm+IW9rJrMqfOjb3pW1tylmV8vijmdu4VH4TWSVaWoPi+BPKhJmt 5I6W+i8PUAws1uGVsktOCWW7xe441ISg44IGZUk8+py7k0w9f6raueO4vQQtZdRPRy3W S9+kOzhv+YaYrzzKfqer8G7jjKgm0D+gH2bnH+SoB16DA2FhKfKIg+ZQ7+dB2jKz9aJR DPGKhFqzqPV/qwwmkLjlWmsJaN0OjLen800vhRvnig+is3jP4HT8Ss5yyAPjM8QOC1Bv YV1ZlEO52fDSIxQmW/KlMFIIDOLhYlr3WIcU+mQJcn1HH2pzp2tyXOPAQW5TmeqNFLAz QplQ== X-Gm-Message-State: AOAM531ahiFOVG0ejx2mC4zRPltrCJdiSRCqn26oE5ohgHeaQIVQjYMO tETsl1Rk2UGBFmBTiK6Vbcd9uIIH+J2vFkiFLkg4Nz72FN/Nc+bTPjwrhGsjRld5ZeovW5Q7vZC 4HTm0gWxXL6iwWAWskEKU1BB+RJh/lVJtFtD70JHg41BTNiEvkfKQXhuS76bcVK2zYGAZIg== X-Received: by 2002:ac8:7344:: with SMTP id q4mr13541959qtp.278.1619988378094; Sun, 02 May 2021 13:46:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw+yIVcxAOmLxQnEn6AbC54AMGEuuZu0Cy+vRRX/8XZUD3bP7eJ3tjwT5XZUczDYt6ucXJLWA== X-Received: by 2002:ac8:7344:: with SMTP id q4mr13541935qtp.278.1619988377603; Sun, 02 May 2021 13:46:17 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id e7sm7132760qth.27.2021.05.02.13.46.16 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 02 May 2021 13:46:17 -0700 (PDT) Subject: Re: [PATCH 02/19] nptl: Move call_once into libc To: Florian Weimer , libc-alpha@sourceware.org References: <153f16014e686af477c0e8b9509ab24fb74913f9.1619456219.git.fweimer@redhat.com> Organization: Red Hat Message-ID: <47e6b082-c7a4-248b-0838-fab562ac4ecd@redhat.com> Date: Sun, 2 May 2021 16:46:15 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <153f16014e686af477c0e8b9509ab24fb74913f9.1619456219.git.fweimer@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Carlos O'Donell via Libc-alpha Reply-To: Carlos O'Donell Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" On 4/26/21 1:00 PM, Florian Weimer via Libc-alpha wrote: > 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. Tested and reviewed on x86_64 and i686. LGTM. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell > --- > nptl/Versions | 4 ++-- > nptl/pthread_once.c | 4 +++- > sysdeps/nptl/libc-lockP.h | 10 ++++++++-- > sysdeps/pthread/Makefile | 3 +-- > sysdeps/pthread/call_once.c | 11 ++++++++++- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arc/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/arc/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/csky/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/i386/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 3 ++- > .../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 3 ++- > .../unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 3 ++- > .../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 3 ++- > .../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 3 ++- > .../unix/sysv/linux/mips/mips32/libpthread.abilist | 1 - > .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 3 ++- > .../unix/sysv/linux/mips/mips64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/nios2/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 - > .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 3 ++- > .../sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 - > .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 3 ++- > .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 3 ++- > .../linux/powerpc/powerpc64/be/libpthread.abilist | 1 - > .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 3 ++- > .../linux/powerpc/powerpc64/le/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 3 ++- > .../unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 3 ++- > .../unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 3 ++- > .../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 3 ++- > .../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 3 ++- > sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 - > 66 files changed, 88 insertions(+), 69 deletions(-) > > diff --git a/nptl/Versions b/nptl/Versions > index 03e159ee0f..1217a15bdf 100644 > --- a/nptl/Versions > +++ b/nptl/Versions > @@ -126,6 +126,7 @@ libc { > } > # C11 thread symbols. > GLIBC_2.28 { > + call_once; > thrd_current; > thrd_equal; > thrd_sleep; > @@ -153,8 +154,8 @@ libc { > __pthread_mutex_unlock; > __pthread_mutexattr_init; > __pthread_mutexattr_settype; > - __pthread_once; > __pthread_setspecific; > + call_once; > pthread_cond_clockwait; > pthread_condattr_getclock; > pthread_condattr_getpshared; > @@ -373,7 +374,6 @@ libpthread { > > # C11 thread symbols. > GLIBC_2.28 { > - call_once; > cnd_broadcast; > cnd_destroy; > cnd_init; > 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) > diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h > index e573689799..aad9c9778c 100644 > --- a/sysdeps/nptl/libc-lockP.h > +++ b/sysdeps/nptl/libc-lockP.h > @@ -210,9 +210,15 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); > CLASS pthread_once_t NAME = PTHREAD_ONCE_INIT > #endif > > -/* Call handler iff the first call. */ > -#define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \ > +/* Call handler iff the first call. Use a local call in libc, but the > + global pthread_once symbol elsewhere. */ > +#if IS_IN (libc) > +# define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \ > __pthread_once (&(ONCE_CONTROL), INIT_FUNCTION) > +#else > +# define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \ > + pthread_once (&(ONCE_CONTROL), INIT_FUNCTION) > +#endif > > /* Get once control variable. */ > #define __libc_once_get(ONCE_CONTROL) ((ONCE_CONTROL) != PTHREAD_ONCE_INIT) > diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile > index 8133bcda8f..adb4815b4e 100644 > --- a/sysdeps/pthread/Makefile > +++ b/sysdeps/pthread/Makefile > @@ -32,7 +32,6 @@ headers += threads.h > routines += thrd_current thrd_equal thrd_sleep thrd_yield > > libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \ > - call_once \ > mtx_destroy mtx_init mtx_lock mtx_timedlock \ > mtx_trylock mtx_unlock \ > cnd_broadcast \ > @@ -40,7 +39,7 @@ libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \ > tss_create tss_delete tss_get tss_set > > $(libpthread-routines-var) += \ > - > + call_once \ > > 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/call_once.c b/sysdeps/pthread/call_once.c > index 9690530ab2..0847dbc9f4 100644 > --- a/sysdeps/pthread/call_once.c > +++ b/sysdeps/pthread/call_once.c > @@ -17,11 +17,12 @@ > . */ > > #include > +#include > > #include "thrd_priv.h" > > void > -call_once (once_flag *flag, void (*func)(void)) > +__call_once (once_flag *flag, void (*func)(void)) > { > _Static_assert (sizeof (once_flag) == sizeof (pthread_once_t), > "sizeof (once_flag) != sizeof (pthread_once_t)"); > @@ -29,3 +30,11 @@ call_once (once_flag *flag, void (*func)(void)) > "alignof (once_flag) != alignof (pthread_once_t)"); > __pthread_once ((pthread_once_t *) flag, func); > } > +#if PTHREAD_IN_LIBC > +versioned_symbol (libc, __call_once, call_once, GLIBC_2_34); > +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_34) > +compat_symbol (libpthread, __call_once, call_once, GLIBC_2_28); > +# endif > +#else /* !PTHREAD_IN_LIBC */ > +strong_alias (__call_once, call_once) > +#endif > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index 96f61e91b5..c11ab22ceb 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -2198,6 +2198,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2247,9 +2248,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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 2f584deb17..d0f5f7b12c 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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index 46e59e73f8..6c97010471 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -2091,6 +2091,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2328,9 +2329,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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 3871bd7fd1..2cec6a77a8 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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index 49687f093c..1aff75ab15 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -593,6 +593,7 @@ GLIBC_2.32 bzero F > GLIBC_2.32 c16rtomb F > GLIBC_2.32 c32rtomb F > GLIBC_2.32 cacheflush F > +GLIBC_2.32 call_once F > GLIBC_2.32 calloc F > GLIBC_2.32 canonicalize_file_name F > GLIBC_2.32 capget F > @@ -2006,9 +2007,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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 c4bad742a2..9ed70b37a4 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 call_once F > GLIBC_2.32 cnd_broadcast F > GLIBC_2.32 cnd_destroy F > GLIBC_2.32 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index 4d6abeeb42..377aa665ff 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -118,6 +118,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -171,9 +172,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > index 5be2f9ac79..2b02b6fb64 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F > GLIBC_2.12 pthread_setname_np F > GLIBC_2.18 pthread_getattr_default_np F > GLIBC_2.18 pthread_setattr_default_np F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index 91243f33b8..21646b12ee 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -118,6 +118,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -168,9 +169,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > index 5be2f9ac79..2b02b6fb64 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F > GLIBC_2.12 pthread_setname_np F > GLIBC_2.18 pthread_getattr_default_np F > GLIBC_2.18 pthread_setattr_default_np F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index c7cec5e1a6..c08128bd75 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -613,6 +613,7 @@ GLIBC_2.29 bzero F > GLIBC_2.29 c16rtomb F > GLIBC_2.29 c32rtomb F > GLIBC_2.29 cacheflush F > +GLIBC_2.29 call_once F > GLIBC_2.29 calloc F > GLIBC_2.29 callrpc F > GLIBC_2.29 canonicalize_file_name F > @@ -2190,9 +2191,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist > index 99dae41dc5..0998962205 100644 > --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist > @@ -10,7 +10,6 @@ GLIBC_2.29 __pthread_rwlock_tryrdlock F > GLIBC_2.29 __pthread_rwlock_trywrlock F > GLIBC_2.29 __pthread_unregister_cancel F > GLIBC_2.29 __pthread_unregister_cancel_restore F > -GLIBC_2.29 call_once F > GLIBC_2.29 cnd_broadcast F > GLIBC_2.29 cnd_destroy F > GLIBC_2.29 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 69d2d7f3e1..cbab81fe94 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -1929,6 +1929,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2141,9 +2142,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > index ccd2decf49..346e899b10 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index cd4e29c056..1822a0b3ee 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2103,6 +2103,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2318,9 +2319,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist > index 5972b30b09..71c3594c82 100644 > --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/i386/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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index e64d081e88..9051490cfd 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -1965,6 +1965,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2175,9 +2176,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > index e4fcc373fa..b17cd8c595 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 19bb5930fe..7dcc4e003b 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -119,6 +119,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -172,9 +173,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > index 5be2f9ac79..2b02b6fb64 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F > GLIBC_2.12 pthread_setname_np F > GLIBC_2.18 pthread_getattr_default_np F > GLIBC_2.18 pthread_setattr_default_np F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index a4cc4f872c..70e7eb3a39 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2046,6 +2046,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2261,9 +2262,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist > index 5972b30b09..71c3594c82 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index e2f65f7ac5..b38af61755 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -2188,6 +2188,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2241,9 +2242,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > index df17daaa5e..703e84aed6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F > GLIBC_2.18 sem_trywait F > GLIBC_2.18 sem_unlink F > GLIBC_2.18 sem_wait F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 417c311b51..18f9304314 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -2188,6 +2188,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2238,9 +2239,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > index df17daaa5e..703e84aed6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.18 sem_timedwait F > GLIBC_2.18 sem_trywait F > GLIBC_2.18 sem_unlink F > GLIBC_2.18 sem_wait F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index 00b3cf0757..5ab33e126e 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2016,6 +2016,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2224,9 +2225,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > index 71c79c0a9b..40fec2b84b 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > @@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index 8cbc935a95..ea0e8c39ff 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2014,6 +2014,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2222,9 +2223,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > index 71c79c0a9b..40fec2b84b 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > @@ -68,7 +68,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 1d9f61c7b0..12fe5e461d 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2022,6 +2022,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2230,9 +2231,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index c41013212d..82581170e7 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -2018,6 +2018,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2224,9 +2225,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 412a99f35f..c04e838ee5 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -2230,6 +2230,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2280,9 +2281,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > index ace0bff7c6..dd4be0f10d 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.21 sem_timedwait F > GLIBC_2.21 sem_trywait F > GLIBC_2.21 sem_unlink F > GLIBC_2.21 sem_wait F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index 2b4bca90e0..cf722e91a6 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2050,6 +2050,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2288,9 +2289,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist > index 0febdfd3e8..cd2c0659fa 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index 3802eaac60..f78998edc0 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2054,6 +2054,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2321,9 +2322,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 4383f4d579..f8d1810f5e 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -119,6 +119,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2142,9 +2143,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > index fa13a56f55..bfc91a00c7 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > @@ -3,7 +3,6 @@ GLIBC_2.12 pthread_getname_np F > GLIBC_2.12 pthread_setname_np F > GLIBC_2.18 pthread_getattr_default_np F > GLIBC_2.18 pthread_setattr_default_np F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index b272c02184..127e39ed72 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -2288,6 +2288,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2443,9 +2444,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist > index 2f584deb17..d0f5f7b12c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index 27556ad2b0..94d6d127c4 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -586,6 +586,7 @@ GLIBC_2.33 btowc F > GLIBC_2.33 bzero F > GLIBC_2.33 c16rtomb F > GLIBC_2.33 c32rtomb F > +GLIBC_2.33 call_once F > GLIBC_2.33 calloc F > GLIBC_2.33 canonicalize_file_name F > GLIBC_2.33 capget F > @@ -2008,9 +2009,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > index c71a787709..03181a2732 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > @@ -10,7 +10,6 @@ GLIBC_2.33 __pthread_rwlock_tryrdlock F > GLIBC_2.33 __pthread_rwlock_trywrlock F > GLIBC_2.33 __pthread_unregister_cancel F > GLIBC_2.33 __pthread_unregister_cancel_restore F > -GLIBC_2.33 call_once F > GLIBC_2.33 cnd_broadcast F > GLIBC_2.33 cnd_destroy F > GLIBC_2.33 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index d9b8afedee..79d3516e81 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -2159,6 +2159,7 @@ GLIBC_2.27 xdrstdio_create F > GLIBC_2.27 xencrypt F > GLIBC_2.27 xprt_register F > GLIBC_2.27 xprt_unregister F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2208,9 +2209,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > index 39178c36ff..67ba542f1b 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.27 sem_timedwait F > GLIBC_2.27 sem_trywait F > GLIBC_2.27 sem_unlink F > GLIBC_2.27 sem_wait F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 551a18069c..cfcfa02375 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2059,6 +2059,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2286,9 +2287,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > index 54dc15bdff..f509261ffa 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > @@ -70,7 +70,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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index df4c296f13..97bf0ef929 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -1957,6 +1957,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2179,9 +2180,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > index 7e41af116d..37f1713bab 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > @@ -62,7 +62,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index 94818d5751..5f40a9c5ad 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -1933,6 +1933,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2148,9 +2149,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > index ccd2decf49..346e899b10 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index b2cc36bc99..bdb5596d6c 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -1933,6 +1933,7 @@ GLIBC_2.27 wcstof32x F > GLIBC_2.27 wcstof32x_l F > GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2145,9 +2146,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > index ccd2decf49..346e899b10 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index fa32910b71..2fd340b407 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2053,6 +2053,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > @@ -2277,9 +2278,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist > index 3871bd7fd1..2cec6a77a8 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/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 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index d673ec9d03..33ac1505f1 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -1987,6 +1987,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2196,9 +2197,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > index e4fcc373fa..b17cd8c595 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > @@ -61,7 +61,6 @@ GLIBC_2.2 sem_unlink F > GLIBC_2.2 sem_wait F > GLIBC_2.2.3 __libpthread_version_placeholder F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 0a1608dd23..889106018f 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -1946,6 +1946,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2157,9 +2158,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > index df296d9f92..fe4fd51c54 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > @@ -60,7 +60,6 @@ GLIBC_2.2.5 sem_trywait F > GLIBC_2.2.5 sem_unlink F > GLIBC_2.2.5 sem_wait F > GLIBC_2.2.6 __libpthread_version_placeholder F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index f49596ec05..4f947766a7 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -2211,6 +2211,7 @@ GLIBC_2.27 wcstof64 F > GLIBC_2.27 wcstof64_l F > GLIBC_2.27 wcstof64x F > GLIBC_2.27 wcstof64x_l F > +GLIBC_2.28 call_once F > GLIBC_2.28 fcntl64 F > GLIBC_2.28 renameat2 F > GLIBC_2.28 statx F > @@ -2262,9 +2263,9 @@ GLIBC_2.34 __pthread_mutex_trylock F > GLIBC_2.34 __pthread_mutex_unlock F > GLIBC_2.34 __pthread_mutexattr_init F > GLIBC_2.34 __pthread_mutexattr_settype F > -GLIBC_2.34 __pthread_once F > GLIBC_2.34 __pthread_setspecific F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 call_once 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/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > index 85972c43f0..804ccc4962 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.16 sem_unlink F > GLIBC_2.16 sem_wait F > GLIBC_2.18 pthread_getattr_default_np F > GLIBC_2.18 pthread_setattr_default_np F > -GLIBC_2.28 call_once F > GLIBC_2.28 cnd_broadcast F > GLIBC_2.28 cnd_destroy F > GLIBC_2.28 cnd_init F > -- Cheers, Carlos.