From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 5D1FF3864858 for ; Thu, 1 Jul 2021 17:39:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5D1FF3864858 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-216-8hJKGiYUOh2p5pWH7nX3sA-1; Thu, 01 Jul 2021 13:39:48 -0400 X-MC-Unique: 8hJKGiYUOh2p5pWH7nX3sA-1 Received: by mail-qk1-f200.google.com with SMTP id e9-20020a05620a12c9b02903b429a77b4cso4230171qkl.5 for ; Thu, 01 Jul 2021 10:39:48 -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=Xgnov48XOJpgSdDxHGtM6j/9tpwiur7LxyY7ICv6FFM=; b=G7e2yATuZRTYoAABReAzE9IUvaCoXitl+/21Pza9dwZZ2lCI6DAlYg5udPdD83lEgN OZapyPfIvVfWJHu7MpZcQd85KnC47Uvs1NL7ixauCs0ZOREe1JhhdrRbIxTru3d1O1EB nlfrymzY8csTL38d+NrC4bMlM7EbJDCWGjA0cW6hc1ZUWSUwoDC1VD9GkdKtN3Nsqczd vX4MKD9VyW4AoYSgqOACpAm/G7mkjLFQc3B2MJqREz3agcLYw6jb6xE7V4qE3hy3295H ECkl5xgE30+BGLr2mAr0P4RcnNgdLiqql8dS3TeUHVASA0QdNzkGQJyJMv+uaMPmO3UV yBeA== X-Gm-Message-State: AOAM5312SKgzYyuzuRcq6M9lhMJzVvTx3ZSEcnSyvetULdfm1lyojQen WzvuxhOBw1YkvVkmw792TTgo8D1O/Yv5yyj4Y4pHsowBHeZuwXew4ZDsnRhMwpqSfIIIClBA2Za OWd9SkEm16KNVN8OyJrYxkDakrUpNv9Mo5QMLXz7Ho3w/VFMF+292m5n+JJ2Z9Ovfb/gz7w== X-Received: by 2002:a37:4685:: with SMTP id t127mr1177995qka.384.1625161188076; Thu, 01 Jul 2021 10:39:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyt5YDX4/tuZS+vHxy8GjTMkmxfE/54HD2NFRm0beM7feGlzIKIv/eRI3UIadVkRft/CVSkug== X-Received: by 2002:a37:4685:: with SMTP id t127mr1177964qka.384.1625161187717; Thu, 01 Jul 2021 10:39:47 -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 c22sm232870qka.95.2021.07.01.10.39.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 01 Jul 2021 10:39:47 -0700 (PDT) Subject: Re: [PATCH] resolv: Move libanl into libc (if libpthread is in libc) To: Florian Weimer , libc-alpha@sourceware.org References: <871r8vhr6v.fsf@oldenburg.str.redhat.com> From: Carlos O'Donell Organization: Red Hat Message-ID: <7975c8ce-ded1-25e0-224f-8feceaf5d9e3@redhat.com> Date: Thu, 1 Jul 2021 13:39:45 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <871r8vhr6v.fsf@oldenburg.str.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-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org 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: , X-List-Received-Date: Thu, 01 Jul 2021 17:39:56 -0000 On 6/21/21 4:56 PM, Florian Weimer via Libc-alpha wrote: > The symbols gai_cancel, gai_error, gai_suspend, getaddrinfo_a, > __gai_suspend_time64 were moved using scripts/move-symbol-to-libc.py. > > For Hurd (which remains !PTHREAD_IN_LIBC), a few #define redirects > had to be added because several pthread functions are not available > under __. (Linux uses __ prefixes for most hidden aliases, and has > to in some cases to avoid linknamespace issues.) > > Tested on i686-linux-gnu and x86_64-linux-gnu. Built with > build-many-glibcs.py. > > I can split this up further if requested. No need to split up further, this review was fairly straight forward given that libanl is not that complicated. I reviewed .gnu.version_d for the built objects, and reviewed the ABI and it looks good to me (contains the right version notes, and symbols move to libc.so.6 correctly and with the right versions). Tested with no regressions on x86_64 and i686. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell > Thanks, > Florian > --- > Makeconfig | 2 + > include/netdb.h | 4 ++ > resolv/Makefile | 7 +++- > resolv/Versions | 16 ++++++++ > resolv/gai_cancel.c | 17 ++++++-- > resolv/gai_error.c | 13 +++++- > resolv/gai_misc.c | 48 +++++++++++++--------- > resolv/gai_misc.h | 1 + > resolv/gai_notify.c | 15 +++++-- > resolv/gai_sigqueue.c | 2 +- > resolv/gai_suspend.c | 47 +++++++++++++++------ > resolv/getaddrinfo_a.c | 21 +++++++--- > resolv/libanl-compat.c | 35 ++++++++++++++++ > sysdeps/nptl/gai_misc.h | 24 +++++------ > sysdeps/unix/sysv/linux/Versions | 9 +--- > sysdeps/unix/sysv/linux/aarch64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/alpha/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/arc/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/arc/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/arm/be/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/arm/le/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/csky/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/csky/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/gai_sigqueue.c | 1 + > sysdeps/unix/sysv/linux/hppa/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/hppa/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/i386/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/i386/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/ia64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 ++++ > .../unix/sysv/linux/m68k/coldfire/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 9 ++++ > .../unix/sysv/linux/microblaze/be/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 9 ++++ > .../unix/sysv/linux/microblaze/le/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 9 ++++ > .../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist | 6 +-- > .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 9 ++++ > .../unix/sysv/linux/mips/mips64/n32/libanl.abilist | 6 +-- > .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 9 ++++ > .../unix/sysv/linux/mips/mips64/n64/libanl.abilist | 5 +-- > .../unix/sysv/linux/mips/mips64/n64/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/nios2/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/nios2/libc.abilist | 9 ++++ > .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 9 ++++ > .../sysv/linux/powerpc/powerpc32/libanl.abilist | 6 +-- > .../linux/powerpc/powerpc32/nofpu/libc.abilist | 9 ++++ > .../sysv/linux/powerpc/powerpc64/be/libanl.abilist | 5 +-- > .../sysv/linux/powerpc/powerpc64/be/libc.abilist | 8 ++++ > .../sysv/linux/powerpc/powerpc64/le/libanl.abilist | 5 +-- > .../sysv/linux/powerpc/powerpc64/le/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 8 ++++ > .../unix/sysv/linux/s390/s390-32/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 9 ++++ > .../unix/sysv/linux/s390/s390-64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/sh/be/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 9 ++++ > sysdeps/unix/sysv/linux/sh/le/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 9 ++++ > .../unix/sysv/linux/sparc/sparc32/libanl.abilist | 6 +-- > sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 9 ++++ > .../unix/sysv/linux/sparc/sparc64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 8 ++++ > sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist | 5 +-- > sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 8 ++++ > 78 files changed, 498 insertions(+), 206 deletions(-) > > diff --git a/Makeconfig b/Makeconfig > index 407df9e6a1..efc7351d71 100644 > --- a/Makeconfig > +++ b/Makeconfig > @@ -1342,9 +1342,11 @@ sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\ > ifeq ($(pthread-in-libc),yes) > libpthread-routines-var = routines > librt-routines-var = routines > +libanl-routines-var = routines OK. > else > libpthread-routines-var = libpthread-routines > librt-routines-var = librt-routines > +libanl-routines-var = libanl-routines OK. > endif > > # A sysdeps Makeconfig fragment may set libc-reentrant to yes. > diff --git a/include/netdb.h b/include/netdb.h > index 645b85dc62..82e102ff76 100644 > --- a/include/netdb.h > +++ b/include/netdb.h > @@ -199,7 +199,11 @@ libc_hidden_proto (ruserpass) > # else > extern int __gai_suspend_time64 (const struct gaicb *const list[], int ent, > const struct __timespec64 *timeout); > +# if PTHREAD_IN_LIBC > +libc_hidden_proto (__gai_suspend_time64) > +# else > libanl_hidden_proto (__gai_suspend_time64) > +# endif OK. Correct hidden proto. > # endif > > /* The following definition has been removed from the public header > diff --git a/resolv/Makefile b/resolv/Makefile > index 3fbc320ee1..1d3565d478 100644 > --- a/resolv/Makefile > +++ b/resolv/Makefile > @@ -112,8 +112,11 @@ libresolv-routines := res_comp res_debug \ > ns_samedomain ns_date res_enable_icmp \ > compat-hooks compat-gethnamaddr > > -libanl-routines := gai_cancel gai_error gai_misc gai_notify gai_suspend \ > - getaddrinfo_a > +$(libanl-routines-var) += \ > + gai_cancel gai_error gai_misc gai_notify gai_suspend getaddrinfo_a OK. Use indirection to put them into libanl or libc. > + > +libanl-routines += libanl-compat > +libanl-shared-only-routines += libanl-compat OK. Except for these which are always in libanl. > > subdir-dirs = nss_dns > vpath %.c nss_dns > diff --git a/resolv/Versions b/resolv/Versions > index 9a82704af7..d4f6b4b819 100644 > --- a/resolv/Versions > +++ b/resolv/Versions > @@ -21,8 +21,20 @@ libc { > # r* > __res_state; __res_init; __res_nclose; __res_ninit; _res_hconf; > } > + GLIBC_2.2.3 { > +%if PTHREAD_IN_LIBC > + gai_cancel; gai_error; gai_suspend; getaddrinfo_a; > +%endif > + } > + GLIBC_2.34 { > +%if PTHREAD_IN_LIBC > + gai_cancel; gai_error; gai_suspend; getaddrinfo_a; > +%endif > + } > GLIBC_PRIVATE { > +%if !PTHREAD_IN_LIBC > __gai_sigqueue; > +%endif > > __h_errno; __resp; > > @@ -103,6 +115,10 @@ libnss_dns { > > libanl { > GLIBC_2.2.3 { > +%if PTHREAD_IN_LIBC > + __libanl_version_placeholder; OK. Need a GLIBC_2.2.3 version node. > +%else > gai_cancel; gai_error; gai_suspend; getaddrinfo_a; > +%endif > } > } > diff --git a/resolv/gai_cancel.c b/resolv/gai_cancel.c > index 5d398ffea8..aa6ba03e5a 100644 > --- a/resolv/gai_cancel.c > +++ b/resolv/gai_cancel.c > @@ -18,18 +18,18 @@ > > #include > #include > - > +#include > #include > > > int > -gai_cancel (struct gaicb *gaicbp) > +__gai_cancel (struct gaicb *gaicbp) > { > int result = 0; > int status; > > /* Request the mutex. */ > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > > /* Find the request among those queued but not yet running. */ > status = __gai_remove_request (gaicbp); > @@ -41,7 +41,16 @@ gai_cancel (struct gaicb *gaicbp) > result = EAI_ALLDONE; > > /* Release the mutex. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); OK. Use internal __ alias. > > return result; > } > +#if PTHREAD_IN_LIBC > +versioned_symbol (libc, __gai_cancel, gai_cancel, GLIBC_2_34); OK. Add GLIBC_2_34 symbol. 1/4. > + > +# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34) > +compat_symbol (libanl, __gai_cancel, gai_cancel, GLIBC_2_2_3); > +# endif > +#else /* !PTHREAD_IN_LIBC */ > +strong_alias (__gai_cancel, gai_cancel) > +#endif /* !PTHREAD_IN_LIBC */ > diff --git a/resolv/gai_error.c b/resolv/gai_error.c > index 4f9ac557b7..9fe9c400ee 100644 > --- a/resolv/gai_error.c > +++ b/resolv/gai_error.c > @@ -17,11 +17,20 @@ > . */ > > #include > - > +#include > #include > > int > -gai_error (struct gaicb *req) > +__gai_error (struct gaicb *req) > { > return req->__return; > } > +#if PTHREAD_IN_LIBC > +versioned_symbol (libc, __gai_error, gai_error, GLIBC_2_34); OK. Add GLIBC_2_34 symbol. 2/4. > + > +# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34) > +compat_symbol (libanl, __gai_error, gai_error, GLIBC_2_2_3); > +# endif > +#else /* !PTHREAD_IN_LIBC */ > +strong_alias (__gai_error, gai_error) > +#endif /* !PTHREAD_IN_LIBC */ > diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c > index 04be05e109..11cc574320 100644 > --- a/resolv/gai_misc.c > +++ b/resolv/gai_misc.c > @@ -24,7 +24,16 @@ > > #include > > - > +#if !PTHREAD_IN_LIBC > +/* The available function names differ outside of libc. (In libc, we > + need to use hidden aliases to avoid the PLT.) */ > +#define __pthread_attr_init pthread_attr_init > +#define __pthread_attr_setdetachstate pthread_attr_setdetachstate > +#define __pthread_cond_signal pthread_cond_signal > +#define __pthread_cond_timedwait pthread_cond_timedwait > +#define __pthread_create pthread_create > +#define __pthread_exit pthread_exit OK. > +#endif > > #ifndef gai_create_helper_thread > # define gai_create_helper_thread __gai_create_helper_thread > @@ -36,12 +45,12 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > > - int ret = pthread_create (threadp, &attr, tf, arg); > + int ret = __pthread_create (threadp, &attr, tf, arg); > > - (void) pthread_attr_destroy (&attr); > + (void) __pthread_attr_destroy (&attr); > return ret; > } > #endif > @@ -216,13 +225,13 @@ __gai_enqueue_request (struct gaicb *gaicbp) > struct requestlist *lastp; > > /* Get the mutex. */ > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > > /* Get a new element for the waiting list. */ > newp = get_elem (); > if (newp == NULL) > { > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > __set_errno (EAGAIN); > return NULL; > } > @@ -285,11 +294,11 @@ __gai_enqueue_request (struct gaicb *gaicbp) > /* If there is a thread waiting for work, then let it know that we > have just given it something to do. */ > if (idle_thread_count > 0) > - pthread_cond_signal (&__gai_new_request_notification); > + __pthread_cond_signal (&__gai_new_request_notification); > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > > return newp; > } > @@ -309,7 +318,7 @@ handle_requests (void *arg) > "get work off the work queue" part of this loop, which is near the > end. */ > if (runp == NULL) > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > else > { > /* Make the request. */ > @@ -321,7 +330,7 @@ handle_requests (void *arg) > req->ar_request, &req->ar_result); > > /* Get the mutex. */ > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > > /* Send the signal to notify about finished processing of the > request. */ > @@ -369,8 +378,8 @@ handle_requests (void *arg) > wakeup_time.tv_nsec -= 1000000000; > ++wakeup_time.tv_sec; > } > - pthread_cond_timedwait (&__gai_new_request_notification, > - &__gai_requests_mutex, &wakeup_time); > + __pthread_cond_timedwait (&__gai_new_request_notification, > + &__gai_requests_mutex, &wakeup_time); > --idle_thread_count; > runp = requests; > while (runp != NULL && runp->running != 0) > @@ -395,20 +404,21 @@ handle_requests (void *arg) > up for these other work elements; otherwise, we should try > to create a new thread. */ > if (idle_thread_count > 0) > - pthread_cond_signal (&__gai_new_request_notification); > + __pthread_cond_signal (&__gai_new_request_notification); > else if (nthreads < optim.gai_threads) > { > pthread_t thid; > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, > + PTHREAD_CREATE_DETACHED); > > /* Now try to start a thread. If we fail, no big deal, > because we know that there is at least one thread (us) > that is working on lookup operations. */ > - if (pthread_create (&thid, &attr, handle_requests, NULL) > + if (__pthread_create (&thid, &attr, handle_requests, NULL) > == 0) > ++nthreads; > } > @@ -416,11 +426,11 @@ handle_requests (void *arg) > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > } > while (runp != NULL); > > - pthread_exit (NULL); > + __pthread_exit (NULL); > } > > > diff --git a/resolv/gai_misc.h b/resolv/gai_misc.h > index 11167a73a1..d3ef00bad7 100644 > --- a/resolv/gai_misc.h > +++ b/resolv/gai_misc.h > @@ -96,5 +96,6 @@ extern int __gai_notify_only (struct sigevent *sigev, pid_t caller_pid) > > /* Send the signal. */ > extern int __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid); > +libc_hidden_proto (__gai_sigqueue) OK. > > #endif /* gai_misc.h */ > diff --git a/resolv/gai_notify.c b/resolv/gai_notify.c > index de104e5560..8fee627f46 100644 > --- a/resolv/gai_notify.c > +++ b/resolv/gai_notify.c > @@ -21,6 +21,15 @@ > #include > #include > > +#if !PTHREAD_IN_LIBC > +/* The available function names differ outside of libc. (In libc, we > + need to use hidden aliases to avoid the PLT.) */ > +#define __pthread_attr_init pthread_attr_init > +#define __pthread_attr_setdetachstate pthread_attr_setdetachstate > +#define __pthread_cond_signal pthread_cond_signal > +#define __pthread_cond_timedwait pthread_cond_timedwait > +#define __pthread_create pthread_create > +#endif > > struct notify_func > { > @@ -56,8 +65,8 @@ __gai_notify_only (struct sigevent *sigev, pid_t caller_pid) > pattr = (pthread_attr_t *) sigev->sigev_notify_attributes; > if (pattr == NULL) > { > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > pattr = &attr; > } > > @@ -75,7 +84,7 @@ __gai_notify_only (struct sigevent *sigev, pid_t caller_pid) > { > nf->func = sigev->sigev_notify_function; > nf->value = sigev->sigev_value; > - if (pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) > + if (__pthread_create (&tid, pattr, notify_func_wrapper, nf) < 0) > { > free (nf); > result = -1; > diff --git a/resolv/gai_sigqueue.c b/resolv/gai_sigqueue.c > index f7d0dad73d..9b383e2480 100644 > --- a/resolv/gai_sigqueue.c > +++ b/resolv/gai_sigqueue.c > @@ -27,5 +27,5 @@ __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid) > __set_errno (ENOSYS); > return -1; > } > - > +libc_hidden_def (__gai_sigqueue) > stub_warning (__gai_sigqueue) > diff --git a/resolv/gai_suspend.c b/resolv/gai_suspend.c > index a0c3407b00..965bb113a4 100644 > --- a/resolv/gai_suspend.c > +++ b/resolv/gai_suspend.c > @@ -25,8 +25,8 @@ > #include > > int > -__gai_suspend_time64 (const struct gaicb *const list[], int ent, > - const struct __timespec64 *timeout) > +___gai_suspend_time64 (const struct gaicb *const list[], int ent, > + const struct __timespec64 *timeout) > { > struct waitlist waitlist[ent]; > struct requestlist *requestlist[ent]; > @@ -39,7 +39,7 @@ __gai_suspend_time64 (const struct gaicb *const list[], int ent, > int result; > > /* Request the mutex. */ > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > > /* There is not yet a finished request. Signal the request that > we are working for it. */ > @@ -91,7 +91,7 @@ __gai_suspend_time64 (const struct gaicb *const list[], int ent, > /* Since `pthread_cond_wait'/`pthread_cond_timedwait' are cancelation > points we must be careful. We added entries to the waiting lists > which we must remove. So defer cancelation for now. */ > - pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate); > + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate); > > #ifdef DONT_NEED_GAI_MISC_COND > result = 0; > @@ -121,7 +121,7 @@ __gai_suspend_time64 (const struct gaicb *const list[], int ent, > } > > /* Now it's time to restore the cancelation state. */ > - pthread_setcancelstate (oldstate, NULL); > + __pthread_setcancelstate (oldstate, NULL); > > #ifndef DONT_NEED_GAI_MISC_COND > /* Release the conditional variable. */ > @@ -145,17 +145,33 @@ __gai_suspend_time64 (const struct gaicb *const list[], int ent, > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > > return result; > } > > -#if __TIMESIZE != 64 > -libanl_hidden_def (__gai_suspend_time64) > +#if __TIMESIZE == 64 > +# if PTHREAD_IN_LIBC > +versioned_symbol (libc, ___gai_suspend_time64, gai_suspend, GLIBC_2_34); OK. Add GLIBC_2_34 symbol. 3/4. > +# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34) > +compat_symbol (libanl, ___gai_suspend_time64, gai_suspend, GLIBC_2_2_3); > +# endif > +# endif /* PTHREAD_IN_LIBC */ > + > +#else /* __TIMESIZE != 64 */ > +# if PTHREAD_IN_LIBC > +libc_hidden_ver (___gai_suspend_time64, __gai_suspend_time64) > +versioned_symbol (libc, ___gai_suspend_time64, __gai_suspend_time64, > + GLIBC_2_34); > +# else /* !PTHREAD_IN_LIBC */ > +# if IS_IN (libanl) > +hidden_ver (___gai_suspend_time64, __gai_suspend_time64) > +# endif > +#endif /* !PTHREAD_IN_LIBC */ > > int > -__gai_suspend (const struct gaicb *const list[], int ent, > - const struct timespec *timeout) > +___gai_suspend (const struct gaicb *const list[], int ent, > + const struct timespec *timeout) > { > struct __timespec64 ts64; > > @@ -164,5 +180,12 @@ __gai_suspend (const struct gaicb *const list[], int ent, > > return __gai_suspend_time64 (list, ent, timeout != NULL ? &ts64 : NULL); > } > -#endif > -weak_alias (__gai_suspend, gai_suspend) > +#if PTHREAD_IN_LIBC > +versioned_symbol (libc, ___gai_suspend, gai_suspend, GLIBC_2_34); OK. The non-64-bit-time_t version. > +# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34) > +compat_symbol (libanl, ___gai_suspend, gai_suspend, GLIBC_2_2_3); > +# endif > +# else > +weak_alias (___gai_suspend, gai_suspend) > +# endif /* !PTHREAD_IN_LIBC */ > +#endif /* __TIMESIZE != 64 */ > diff --git a/resolv/getaddrinfo_a.c b/resolv/getaddrinfo_a.c > index fca39a8d89..7541f2a9af 100644 > --- a/resolv/getaddrinfo_a.c > +++ b/resolv/getaddrinfo_a.c > @@ -35,7 +35,7 @@ struct async_waitlist > > > int > -getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > +__getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > { > struct sigevent defsigev; > struct requestlist *requests[ent]; > @@ -57,7 +57,7 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > } > > /* Request the mutex. */ > - pthread_mutex_lock (&__gai_requests_mutex); > + __pthread_mutex_lock (&__gai_requests_mutex); > > /* Now we can enqueue all requests. Since we already acquired the > mutex the enqueue function need not do this. */ > @@ -85,7 +85,7 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > /* Release the mutex. We do this before raising a signal since the > signal handler might do a `siglongjmp' and then the mutex is > locked forever. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > > if (mode == GAI_NOWAIT) > __gai_notify_only (sig, > @@ -119,7 +119,7 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > /* Since `pthread_cond_wait'/`pthread_cond_timedwait' are cancelation > points we must be careful. We added entries to the waiting lists > which we must remove. So defer cancelation for now. */ > - pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate); > + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &oldstate); > > while (total > 0) > { > @@ -132,7 +132,7 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > } > > /* Now it's time to restore the cancelation state. */ > - pthread_setcancelstate (oldstate, NULL); > + __pthread_setcancelstate (oldstate, NULL); > > #ifndef DONT_NEED_GAI_MISC_COND > /* Release the conditional variable. */ > @@ -176,7 +176,16 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) > } > > /* Release the mutex. */ > - pthread_mutex_unlock (&__gai_requests_mutex); > + __pthread_mutex_unlock (&__gai_requests_mutex); > > return result; > } > +#if PTHREAD_IN_LIBC > +versioned_symbol (libc, __getaddrinfo_a, getaddrinfo_a, GLIBC_2_34); OK. Add GLIBC_2_34 symbol. 4/4. ABI is complete. > + > +# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34) > +compat_symbol (libanl, __getaddrinfo_a, getaddrinfo_a, GLIBC_2_2_3); > +# endif > +#else /* !PTHREAD_IN_LIBC */ > +strong_alias (__getaddrinfo_a, getaddrinfo_a) > +#endif /* !PTHREAD_IN_LIBC */ > diff --git a/resolv/libanl-compat.c b/resolv/libanl-compat.c > new file mode 100644 > index 0000000000..29df76f278 > --- /dev/null > +++ b/resolv/libanl-compat.c > @@ -0,0 +1,35 @@ > +/* Placeholder compatibility symbols for libanl. > + Copyright (C) 2021 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +#if PTHREAD_IN_LIBC > +# include > +# include > + > +/* This file is used to keep specific symbol versions occupied, so > + that ld does not generate weak symbol version definitions. */ > + > +void > +attribute_compat_text_section > +__attribute_used__ > +__libanl_version_placeholder_1 (void) > +{ > +} > + > +compat_symbol (libanl, __libanl_version_placeholder_1, > + __libanl_version_placeholder, GLIBC_2_2_3); OK. Keeps version node. > +#endif > diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h > index 82948fdf96..357f536557 100644 > --- a/sysdeps/nptl/gai_misc.h > +++ b/sysdeps/nptl/gai_misc.h > @@ -40,7 +40,7 @@ > \ > if (oldval != 0) \ > { \ > - pthread_mutex_unlock (&__gai_requests_mutex); \ > + __pthread_mutex_unlock (&__gai_requests_mutex); \ > \ > int status; \ > do \ > @@ -68,7 +68,7 @@ > else \ > assert (status == 0 || status == EAGAIN); \ > \ > - pthread_mutex_lock (&__gai_requests_mutex); \ > + __pthread_mutex_lock (&__gai_requests_mutex); \ > } \ > } while (0) > > @@ -82,7 +82,7 @@ __gai_start_notify_thread (void) > sigset_t ss; > sigemptyset (&ss); > int sigerr __attribute__ ((unused)); > - sigerr = pthread_sigmask (SIG_SETMASK, &ss, NULL); > + sigerr = __pthread_sigmask (SIG_SETMASK, &ss, NULL); > assert_perror (sigerr); > } > > @@ -93,13 +93,13 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), > pthread_attr_t attr; > > /* Make sure the thread is created detached. */ > - pthread_attr_init (&attr); > - pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > + __pthread_attr_init (&attr); > + __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); > > /* The helper thread needs only very little resources. */ > - (void) pthread_attr_setstacksize (&attr, > - __pthread_get_minstack (&attr) > - + 4 * PTHREAD_STACK_MIN); > + (void) __pthread_attr_setstacksize (&attr, > + __pthread_get_minstack (&attr) > + + 4 * PTHREAD_STACK_MIN); > > /* Block all signals in the helper thread. To do this thoroughly we > temporarily have to block all signals here. */ > @@ -107,16 +107,16 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *), > sigset_t oss; > sigfillset (&ss); > int sigerr __attribute__ ((unused)); > - sigerr = pthread_sigmask (SIG_SETMASK, &ss, &oss); > + sigerr = __pthread_sigmask (SIG_SETMASK, &ss, &oss); > assert_perror (sigerr); > > - int ret = pthread_create (threadp, &attr, tf, arg); > + int ret = __pthread_create (threadp, &attr, tf, arg); > > /* Restore the signal mask. */ > - sigerr = pthread_sigmask (SIG_SETMASK, &oss, NULL); > + sigerr = __pthread_sigmask (SIG_SETMASK, &oss, NULL); > assert_perror (sigerr); > > - (void) pthread_attr_destroy (&attr); > + (void) __pthread_attr_destroy (&attr); > return ret; > } > > diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions > index ea0b22d7af..ee87de0036 100644 > --- a/sysdeps/unix/sysv/linux/Versions > +++ b/sysdeps/unix/sysv/linux/Versions > @@ -213,6 +213,7 @@ libc { > __fts64_children_time64; > __ftw64_time64; > __nftw64_time64; > + __gai_suspend_time64; > __getitimer64; > __getrusage64; > __gettimeofday64; > @@ -302,11 +303,3 @@ librt { > %endif > } > } > - > -libanl { > -%ifdef TIME64_NON_DEFAULT > - GLIBC_2.34 { > - __gai_suspend_time64; > - } > -%endif > -} OK. ABI moves into libc. > diff --git a/sysdeps/unix/sysv/linux/aarch64/libanl.abilist b/sysdeps/unix/sysv/linux/aarch64/libanl.abilist > index 9492cd5290..0b2ef01e6a 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.17 gai_cancel F > -GLIBC_2.17 gai_error F > -GLIBC_2.17 gai_suspend F > -GLIBC_2.17 getaddrinfo_a F > +GLIBC_2.17 __libanl_version_placeholder F OK. ABI is moved to libc. > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index 42e240e284..d0c0eacb74 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -920,7 +920,10 @@ GLIBC_2.17 fwprintf F > GLIBC_2.17 fwrite F > GLIBC_2.17 fwrite_unlocked F > GLIBC_2.17 fwscanf F > +GLIBC_2.17 gai_cancel F > +GLIBC_2.17 gai_error F > GLIBC_2.17 gai_strerror F > +GLIBC_2.17 gai_suspend F > GLIBC_2.17 gcvt F > GLIBC_2.17 get_avphys_pages F > GLIBC_2.17 get_current_dir_name F > @@ -930,6 +933,7 @@ GLIBC_2.17 get_nprocs F > GLIBC_2.17 get_nprocs_conf F > GLIBC_2.17 get_phys_pages F > GLIBC_2.17 getaddrinfo F > +GLIBC_2.17 getaddrinfo_a F > GLIBC_2.17 getaliasbyname F > GLIBC_2.17 getaliasbyname_r F > GLIBC_2.17 getaliasent F > @@ -2365,6 +2369,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/alpha/libanl.abilist b/sysdeps/unix/sysv/linux/alpha/libanl.abilist > index d9a5ed015d..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index fad54555dc..251e5d7b21 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -2097,6 +2097,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2458,6 +2462,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/arc/libanl.abilist b/sysdeps/unix/sysv/linux/arc/libanl.abilist > index ba513bd028..492861d11b 100644 > --- a/sysdeps/unix/sysv/linux/arc/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.32 gai_cancel F > -GLIBC_2.32 gai_error F > -GLIBC_2.32 gai_suspend F > -GLIBC_2.32 getaddrinfo_a F > +GLIBC_2.32 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index 907716ec39..b7ec1939e1 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -869,7 +869,10 @@ GLIBC_2.32 fwprintf F > GLIBC_2.32 fwrite F > GLIBC_2.32 fwrite_unlocked F > GLIBC_2.32 fwscanf F > +GLIBC_2.32 gai_cancel F > +GLIBC_2.32 gai_error F > GLIBC_2.32 gai_strerror F > +GLIBC_2.32 gai_suspend F > GLIBC_2.32 gcvt F > GLIBC_2.32 get_avphys_pages F > GLIBC_2.32 get_current_dir_name F > @@ -877,6 +880,7 @@ GLIBC_2.32 get_nprocs F > GLIBC_2.32 get_nprocs_conf F > GLIBC_2.32 get_phys_pages F > GLIBC_2.32 getaddrinfo F > +GLIBC_2.32 getaddrinfo_a F > GLIBC_2.32 getaliasbyname F > GLIBC_2.32 getaliasbyname_r F > GLIBC_2.32 getaliasent F > @@ -2124,6 +2128,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libanl.abilist b/sysdeps/unix/sysv/linux/arm/be/libanl.abilist > index 37f9b49e52..8f73b93237 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.34 __gai_suspend_time64 F > -GLIBC_2.4 gai_cancel F > -GLIBC_2.4 gai_error F > -GLIBC_2.4 gai_suspend F > -GLIBC_2.4 getaddrinfo_a F > +GLIBC_2.4 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index 50f987a429..ce6dc4b91c 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -212,6 +212,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -295,6 +296,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > @@ -1293,7 +1298,10 @@ GLIBC_2.4 fwprintf F > GLIBC_2.4 fwrite F > GLIBC_2.4 fwrite_unlocked F > GLIBC_2.4 fwscanf F > +GLIBC_2.4 gai_cancel F > +GLIBC_2.4 gai_error F > GLIBC_2.4 gai_strerror F > +GLIBC_2.4 gai_suspend F > GLIBC_2.4 gcvt F > GLIBC_2.4 get_avphys_pages F > GLIBC_2.4 get_current_dir_name F > @@ -1303,6 +1311,7 @@ GLIBC_2.4 get_nprocs F > GLIBC_2.4 get_nprocs_conf F > GLIBC_2.4 get_phys_pages F > GLIBC_2.4 getaddrinfo F > +GLIBC_2.4 getaddrinfo_a F > GLIBC_2.4 getaliasbyname F > GLIBC_2.4 getaliasbyname_r F > GLIBC_2.4 getaliasent F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libanl.abilist b/sysdeps/unix/sysv/linux/arm/le/libanl.abilist > index 37f9b49e52..8f73b93237 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.34 __gai_suspend_time64 F > -GLIBC_2.4 gai_cancel F > -GLIBC_2.4 gai_error F > -GLIBC_2.4 gai_suspend F > -GLIBC_2.4 getaddrinfo_a F > +GLIBC_2.4 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index bf9038af84..afac105aec 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -209,6 +209,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -292,6 +293,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > @@ -1290,7 +1295,10 @@ GLIBC_2.4 fwprintf F > GLIBC_2.4 fwrite F > GLIBC_2.4 fwrite_unlocked F > GLIBC_2.4 fwscanf F > +GLIBC_2.4 gai_cancel F > +GLIBC_2.4 gai_error F > GLIBC_2.4 gai_strerror F > +GLIBC_2.4 gai_suspend F > GLIBC_2.4 gcvt F > GLIBC_2.4 get_avphys_pages F > GLIBC_2.4 get_current_dir_name F > @@ -1300,6 +1308,7 @@ GLIBC_2.4 get_nprocs F > GLIBC_2.4 get_nprocs_conf F > GLIBC_2.4 get_phys_pages F > GLIBC_2.4 getaddrinfo F > +GLIBC_2.4 getaddrinfo_a F > GLIBC_2.4 getaliasbyname F > GLIBC_2.4 getaliasbyname_r F > GLIBC_2.4 getaliasent F > diff --git a/sysdeps/unix/sysv/linux/csky/libanl.abilist b/sysdeps/unix/sysv/linux/csky/libanl.abilist > index 01f2e6cbf0..4234c23c3f 100644 > --- a/sysdeps/unix/sysv/linux/csky/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.29 gai_cancel F > -GLIBC_2.29 gai_error F > -GLIBC_2.29 gai_suspend F > -GLIBC_2.29 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.29 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index afb91f6f43..97bad349d9 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -908,7 +908,10 @@ GLIBC_2.29 fwprintf F > GLIBC_2.29 fwrite F > GLIBC_2.29 fwrite_unlocked F > GLIBC_2.29 fwscanf F > +GLIBC_2.29 gai_cancel F > +GLIBC_2.29 gai_error F > GLIBC_2.29 gai_strerror F > +GLIBC_2.29 gai_suspend F > GLIBC_2.29 gcvt F > GLIBC_2.29 get_avphys_pages F > GLIBC_2.29 get_current_dir_name F > @@ -917,6 +920,7 @@ GLIBC_2.29 get_nprocs F > GLIBC_2.29 get_nprocs_conf F > GLIBC_2.29 get_phys_pages F > GLIBC_2.29 getaddrinfo F > +GLIBC_2.29 getaddrinfo_a F > GLIBC_2.29 getaliasbyname F > GLIBC_2.29 getaliasbyname_r F > GLIBC_2.29 getaliasent F > @@ -2301,6 +2305,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2384,6 +2389,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c > index 2b718967b1..38b2c3dd07 100644 > --- a/sysdeps/unix/sysv/linux/gai_sigqueue.c > +++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c > @@ -44,3 +44,4 @@ __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid) > > return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); > } > +libc_hidden_def (__gai_sigqueue) OK. > diff --git a/sysdeps/unix/sysv/linux/hppa/libanl.abilist b/sysdeps/unix/sysv/linux/hppa/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 125f8a269a..6d4bab4474 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -1942,6 +1942,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2255,6 +2259,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2338,6 +2343,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/i386/libanl.abilist b/sysdeps/unix/sysv/linux/i386/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/i386/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index 517753bdd1..af70dddee8 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2110,6 +2110,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2438,6 +2442,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2522,6 +2527,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/ia64/libanl.abilist b/sysdeps/unix/sysv/linux/ia64/libanl.abilist > index d9a5ed015d..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index 23d0928360..89a9f12d4c 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -1964,6 +1964,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2298,6 +2302,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist > index 37f9b49e52..8f73b93237 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.34 __gai_suspend_time64 F > -GLIBC_2.4 gai_cancel F > -GLIBC_2.4 gai_error F > -GLIBC_2.4 gai_suspend F > -GLIBC_2.4 getaddrinfo_a F > +GLIBC_2.4 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index dd5fb50b18..4a23fc2467 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -213,6 +213,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -296,6 +297,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > @@ -1282,7 +1287,10 @@ GLIBC_2.4 fwprintf F > GLIBC_2.4 fwrite F > GLIBC_2.4 fwrite_unlocked F > GLIBC_2.4 fwscanf F > +GLIBC_2.4 gai_cancel F > +GLIBC_2.4 gai_error F > GLIBC_2.4 gai_strerror F > +GLIBC_2.4 gai_suspend F > GLIBC_2.4 gcvt F > GLIBC_2.4 get_avphys_pages F > GLIBC_2.4 get_current_dir_name F > @@ -1292,6 +1300,7 @@ GLIBC_2.4 get_nprocs F > GLIBC_2.4 get_nprocs_conf F > GLIBC_2.4 get_phys_pages F > GLIBC_2.4 getaddrinfo F > +GLIBC_2.4 getaddrinfo_a F > GLIBC_2.4 getaliasbyname F > GLIBC_2.4 getaliasbyname_r F > GLIBC_2.4 getaliasent F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index cb1d553361..9c0356b21b 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2066,6 +2066,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2382,6 +2386,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2465,6 +2470,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist > index c06e33a1cf..1bb3e615f6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.18 gai_cancel F > -GLIBC_2.18 gai_error F > -GLIBC_2.18 gai_suspend F > -GLIBC_2.18 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.18 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index 6a20a6fdf2..0cd000ae33 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -922,7 +922,10 @@ GLIBC_2.18 fwprintf F > GLIBC_2.18 fwrite F > GLIBC_2.18 fwrite_unlocked F > GLIBC_2.18 fwscanf F > +GLIBC_2.18 gai_cancel F > +GLIBC_2.18 gai_error F > GLIBC_2.18 gai_strerror F > +GLIBC_2.18 gai_suspend F > GLIBC_2.18 gcvt F > GLIBC_2.18 get_avphys_pages F > GLIBC_2.18 get_current_dir_name F > @@ -932,6 +935,7 @@ GLIBC_2.18 get_nprocs F > GLIBC_2.18 get_nprocs_conf F > GLIBC_2.18 get_phys_pages F > GLIBC_2.18 getaddrinfo F > +GLIBC_2.18 getaddrinfo_a F > GLIBC_2.18 getaliasbyname F > GLIBC_2.18 getaliasbyname_r F > GLIBC_2.18 getaliasent F > @@ -2352,6 +2356,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2435,6 +2440,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist > index c06e33a1cf..1bb3e615f6 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.18 gai_cancel F > -GLIBC_2.18 gai_error F > -GLIBC_2.18 gai_suspend F > -GLIBC_2.18 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.18 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 4c21cbb64d..56201d0e2e 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -922,7 +922,10 @@ GLIBC_2.18 fwprintf F > GLIBC_2.18 fwrite F > GLIBC_2.18 fwrite_unlocked F > GLIBC_2.18 fwscanf F > +GLIBC_2.18 gai_cancel F > +GLIBC_2.18 gai_error F > GLIBC_2.18 gai_strerror F > +GLIBC_2.18 gai_suspend F > GLIBC_2.18 gcvt F > GLIBC_2.18 get_avphys_pages F > GLIBC_2.18 get_current_dir_name F > @@ -932,6 +935,7 @@ GLIBC_2.18 get_nprocs F > GLIBC_2.18 get_nprocs_conf F > GLIBC_2.18 get_phys_pages F > GLIBC_2.18 getaddrinfo F > +GLIBC_2.18 getaddrinfo_a F > GLIBC_2.18 getaliasbyname F > GLIBC_2.18 getaliasbyname_r F > GLIBC_2.18 getaliasent F > @@ -2349,6 +2353,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2432,6 +2437,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index f83ba2f780..d47aa9e204 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2036,6 +2036,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2347,6 +2351,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2430,6 +2435,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index 347bbddb94..8850cbee66 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2034,6 +2034,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2345,6 +2349,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2428,6 +2433,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 26b7ab529b..005791cb58 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2032,6 +2032,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2353,6 +2357,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2436,6 +2441,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist > index d9a5ed015d..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index e667b0e553..53bbb1a297 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -2028,6 +2028,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2354,6 +2358,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/nios2/libanl.abilist b/sysdeps/unix/sysv/linux/nios2/libanl.abilist > index 6b080bd075..68f340f5bd 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.21 gai_cancel F > -GLIBC_2.21 gai_error F > -GLIBC_2.21 gai_suspend F > -GLIBC_2.21 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.21 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 89a1cc7da6..c8cc5c4a2f 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -965,7 +965,10 @@ GLIBC_2.21 fwprintf F > GLIBC_2.21 fwrite F > GLIBC_2.21 fwrite_unlocked F > GLIBC_2.21 fwscanf F > +GLIBC_2.21 gai_cancel F > +GLIBC_2.21 gai_error F > GLIBC_2.21 gai_strerror F > +GLIBC_2.21 gai_suspend F > GLIBC_2.21 gcvt F > GLIBC_2.21 get_avphys_pages F > GLIBC_2.21 get_current_dir_name F > @@ -975,6 +978,7 @@ GLIBC_2.21 get_nprocs F > GLIBC_2.21 get_nprocs_conf F > GLIBC_2.21 get_phys_pages F > GLIBC_2.21 getaddrinfo F > +GLIBC_2.21 getaddrinfo_a F > GLIBC_2.21 getaliasbyname F > GLIBC_2.21 getaliasbyname_r F > GLIBC_2.21 getaliasent F > @@ -2391,6 +2395,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2474,6 +2479,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index f364c5219e..e5d3b2d7b1 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2070,6 +2070,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2409,6 +2413,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2492,6 +2497,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index f5bcc78afe..a70b7f61da 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2074,6 +2074,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2442,6 +2446,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2525,6 +2530,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist > index 975593b41f..c4b42f236e 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.3 gai_cancel F > -GLIBC_2.3 gai_error F > -GLIBC_2.3 gai_suspend F > -GLIBC_2.3 getaddrinfo_a F > +GLIBC_2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 6032716053..eb5db9960f 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -933,7 +933,10 @@ GLIBC_2.3 fwprintf F > GLIBC_2.3 fwrite F > GLIBC_2.3 fwrite_unlocked F > GLIBC_2.3 fwscanf F > +GLIBC_2.3 gai_cancel F > +GLIBC_2.3 gai_error F > GLIBC_2.3 gai_strerror F > +GLIBC_2.3 gai_suspend F > GLIBC_2.3 gcvt F > GLIBC_2.3 get_avphys_pages F > GLIBC_2.3 get_current_dir_name F > @@ -943,6 +946,7 @@ GLIBC_2.3 get_nprocs F > GLIBC_2.3 get_nprocs_conf F > GLIBC_2.3 get_phys_pages F > GLIBC_2.3 getaddrinfo F > +GLIBC_2.3 getaddrinfo_a F > GLIBC_2.3 getaliasbyname F > GLIBC_2.3 getaliasbyname_r F > GLIBC_2.3 getaliasent F > @@ -2262,6 +2266,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist > index 9492cd5290..0b2ef01e6a 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.17 gai_cancel F > -GLIBC_2.17 gai_error F > -GLIBC_2.17 gai_suspend F > -GLIBC_2.17 getaddrinfo_a F > +GLIBC_2.17 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index 8c5494e1dc..e8ef5b44cb 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -1008,7 +1008,10 @@ GLIBC_2.17 fwprintf F > GLIBC_2.17 fwrite F > GLIBC_2.17 fwrite_unlocked F > GLIBC_2.17 fwscanf F > +GLIBC_2.17 gai_cancel F > +GLIBC_2.17 gai_error F > GLIBC_2.17 gai_strerror F > +GLIBC_2.17 gai_suspend F > GLIBC_2.17 gcvt F > GLIBC_2.17 get_avphys_pages F > GLIBC_2.17 get_current_dir_name F > @@ -1018,6 +1021,7 @@ GLIBC_2.17 get_nprocs F > GLIBC_2.17 get_nprocs_conf F > GLIBC_2.17 get_phys_pages F > GLIBC_2.17 getaddrinfo F > +GLIBC_2.17 getaddrinfo_a F > GLIBC_2.17 getaliasbyname F > GLIBC_2.17 getaliasbyname_r F > GLIBC_2.17 getaliasent F > @@ -2561,6 +2565,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist > index 33f23fd896..0326efe0dd 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.33 gai_cancel F > -GLIBC_2.33 gai_error F > -GLIBC_2.33 gai_suspend F > -GLIBC_2.33 getaddrinfo_a F > +GLIBC_2.33 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index d7db279c1e..8287525b5b 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -866,7 +866,10 @@ GLIBC_2.33 fwprintf F > GLIBC_2.33 fwrite F > GLIBC_2.33 fwrite_unlocked F > GLIBC_2.33 fwscanf F > +GLIBC_2.33 gai_cancel F > +GLIBC_2.33 gai_error F > GLIBC_2.33 gai_strerror F > +GLIBC_2.33 gai_suspend F > GLIBC_2.33 gcvt F > GLIBC_2.33 get_avphys_pages F > GLIBC_2.33 get_current_dir_name F > @@ -874,6 +877,7 @@ GLIBC_2.33 get_nprocs F > GLIBC_2.33 get_nprocs_conf F > GLIBC_2.33 get_phys_pages F > GLIBC_2.33 getaddrinfo F > +GLIBC_2.33 getaddrinfo_a F > GLIBC_2.33 getaliasbyname F > GLIBC_2.33 getaliasbyname_r F > GLIBC_2.33 getaliasent F > @@ -2126,6 +2130,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist > index 711fc87c2a..646daff106 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.27 gai_cancel F > -GLIBC_2.27 gai_error F > -GLIBC_2.27 gai_suspend F > -GLIBC_2.27 getaddrinfo_a F > +GLIBC_2.27 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index ef03dc0f9e..e18f4336eb 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -905,7 +905,10 @@ GLIBC_2.27 fwprintf F > GLIBC_2.27 fwrite F > GLIBC_2.27 fwrite_unlocked F > GLIBC_2.27 fwscanf F > +GLIBC_2.27 gai_cancel F > +GLIBC_2.27 gai_error F > GLIBC_2.27 gai_strerror F > +GLIBC_2.27 gai_suspend F > GLIBC_2.27 gcvt F > GLIBC_2.27 get_avphys_pages F > GLIBC_2.27 get_current_dir_name F > @@ -914,6 +917,7 @@ GLIBC_2.27 get_nprocs F > GLIBC_2.27 get_nprocs_conf F > GLIBC_2.27 get_phys_pages F > GLIBC_2.27 getaddrinfo F > +GLIBC_2.27 getaddrinfo_a F > GLIBC_2.27 getaliasbyname F > GLIBC_2.27 getaliasbyname_r F > GLIBC_2.27 getaliasent F > @@ -2326,6 +2330,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 9118cb68ec..cdd744a619 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2069,6 +2069,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2407,6 +2411,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2490,6 +2495,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist > index d9a5ed015d..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index 66c01bd7e7..b62a19bfa7 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -1959,6 +1959,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2299,6 +2303,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libanl.abilist b/sysdeps/unix/sysv/linux/sh/be/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index c40eb412c2..87392ced6e 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -1946,6 +1946,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2262,6 +2266,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2345,6 +2350,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libanl.abilist b/sysdeps/unix/sysv/linux/sh/le/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index 1412d33835..973a95d9bc 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -1946,6 +1946,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2259,6 +2263,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2342,6 +2347,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist > index ff719e7605..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist > @@ -1,5 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > -GLIBC_2.34 __gai_suspend_time64 F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 7b55d34753..ed782ac093 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2063,6 +2063,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2400,6 +2404,7 @@ GLIBC_2.34 __ftw64_time64 F > GLIBC_2.34 __futimens64 F > GLIBC_2.34 __futimes64 F > GLIBC_2.34 __futimesat64 F > +GLIBC_2.34 __gai_suspend_time64 F > GLIBC_2.34 __getitimer64 F > GLIBC_2.34 __getrusage64 F > GLIBC_2.34 __gettimeofday64 F > @@ -2483,6 +2488,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist > index d9a5ed015d..b748507bd9 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.3 gai_cancel F > -GLIBC_2.2.3 gai_error F > -GLIBC_2.2.3 gai_suspend F > -GLIBC_2.2.3 getaddrinfo_a F > +GLIBC_2.2.3 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index cfd5f38864..2d6fa7487c 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -1990,6 +1990,10 @@ GLIBC_2.2.3 __rpc_thread_svc_fdset F > GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F > GLIBC_2.2.3 __rpc_thread_svc_pollfd F > GLIBC_2.2.3 fnmatch F > +GLIBC_2.2.3 gai_cancel F > +GLIBC_2.2.3 gai_error F > +GLIBC_2.2.3 gai_suspend F > +GLIBC_2.2.3 getaddrinfo_a F > GLIBC_2.2.3 pthread_getattr_np F > GLIBC_2.2.3 sprofil F > GLIBC_2.2.4 dl_iterate_phdr F > @@ -2319,6 +2323,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist > index 8d025f86b9..62a072e961 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.2.5 gai_cancel F > -GLIBC_2.2.5 gai_error F > -GLIBC_2.2.5 gai_suspend F > -GLIBC_2.2.5 getaddrinfo_a F > +GLIBC_2.2.5 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 17be05f14f..18f6a65498 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -852,7 +852,10 @@ GLIBC_2.2.5 fwprintf F > GLIBC_2.2.5 fwrite F > GLIBC_2.2.5 fwrite_unlocked F > GLIBC_2.2.5 fwscanf F > +GLIBC_2.2.5 gai_cancel F > +GLIBC_2.2.5 gai_error F > GLIBC_2.2.5 gai_strerror F > +GLIBC_2.2.5 gai_suspend F > GLIBC_2.2.5 gcvt F > GLIBC_2.2.5 get_avphys_pages F > GLIBC_2.2.5 get_current_dir_name F > @@ -862,6 +865,7 @@ GLIBC_2.2.5 get_nprocs F > GLIBC_2.2.5 get_nprocs_conf F > GLIBC_2.2.5 get_phys_pages F > GLIBC_2.2.5 getaddrinfo F > +GLIBC_2.2.5 getaddrinfo_a F > GLIBC_2.2.5 getaliasbyname F > GLIBC_2.2.5 getaliasbyname_r F > GLIBC_2.2.5 getaliasent F > @@ -2277,6 +2281,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist > index 067013555a..097f7def8c 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist > @@ -1,4 +1 @@ > -GLIBC_2.16 gai_cancel F > -GLIBC_2.16 gai_error F > -GLIBC_2.16 gai_suspend F > -GLIBC_2.16 getaddrinfo_a F > +GLIBC_2.16 __libanl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index a9db18906b..8e1db86dc4 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -924,7 +924,10 @@ GLIBC_2.16 fwprintf F > GLIBC_2.16 fwrite F > GLIBC_2.16 fwrite_unlocked F > GLIBC_2.16 fwscanf F > +GLIBC_2.16 gai_cancel F > +GLIBC_2.16 gai_error F > GLIBC_2.16 gai_strerror F > +GLIBC_2.16 gai_suspend F > GLIBC_2.16 gcvt F > GLIBC_2.16 get_avphys_pages F > GLIBC_2.16 get_current_dir_name F > @@ -934,6 +937,7 @@ GLIBC_2.16 get_nprocs F > GLIBC_2.16 get_nprocs_conf F > GLIBC_2.16 get_phys_pages F > GLIBC_2.16 getaddrinfo F > +GLIBC_2.16 getaddrinfo_a F > GLIBC_2.16 getaliasbyname F > GLIBC_2.16 getaliasbyname_r F > GLIBC_2.16 getaliasent F > @@ -2380,6 +2384,10 @@ GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > +GLIBC_2.34 gai_cancel F > +GLIBC_2.34 gai_error F > +GLIBC_2.34 gai_suspend F > +GLIBC_2.34 getaddrinfo_a F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > GLIBC_2.34 mtx_lock F > OK. -- Cheers, Carlos.