aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-07-02 11:45:00 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-07-02 11:45:00 +0200
commitdbb949f53d4801b91885b2dfac9875b83a8710bf (patch)
tree9fdfcaeda7ba0f7f2895f45e233757cdfdb1eef3
parent813c6ec808556553be9d39e900a3fc97ceb32330 (diff)
downloadglibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.tar
glibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.tar.gz
glibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.tar.bz2
glibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.zip
resolv: Move libanl into libc (if libpthread is in libc)
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.)
-rw-r--r--Makeconfig2
-rw-r--r--include/netdb.h4
-rw-r--r--resolv/Makefile7
-rw-r--r--resolv/Versions16
-rw-r--r--resolv/gai_cancel.c17
-rw-r--r--resolv/gai_error.c13
-rw-r--r--resolv/gai_misc.c48
-rw-r--r--resolv/gai_misc.h1
-rw-r--r--resolv/gai_notify.c15
-rw-r--r--resolv/gai_sigqueue.c2
-rw-r--r--resolv/gai_suspend.c47
-rw-r--r--resolv/getaddrinfo_a.c21
-rw-r--r--resolv/libanl-compat.c35
-rw-r--r--sysdeps/nptl/gai_misc.h24
-rw-r--r--sysdeps/unix/sysv/linux/Versions9
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arc/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/csky/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/gai_sigqueue.c1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/i386/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist8
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
else
libpthread-routines-var = libpthread-routines
librt-routines-var = librt-routines
+libanl-routines-var = libanl-routines
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
# 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
+
+libanl-routines += libanl-compat
+libanl-shared-only-routines += libanl-compat
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;
+%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 <netdb.h>
#include <pthread.h>
-
+#include <shlib-compat.h>
#include <gai_misc.h>
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);
return result;
}
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __gai_cancel, gai_cancel, GLIBC_2_34);
+
+# 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 @@
<https://www.gnu.org/licenses/>. */
#include <netdb.h>
-
+#include <shlib-compat.h>
#include <gai_misc.h>
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);
+
+# 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 <gai_misc.h>
-
+#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
+#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)
#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 <stdlib.h>
#include <gai_misc.h>
+#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 <gai_misc.h>
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);
+# 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);
+# 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);
+
+# 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
+ <https://www.gnu.org/licenses/>. */
+
+#if PTHREAD_IN_LIBC
+# include <shlib-compat.h>
+# include <sys/cdefs.h>
+
+/* 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);
+#endif
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
index 36bf27523d..261e24dae6 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 29ed24591d..53cb7b23e2 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -221,6 +221,7 @@ libc {
__fts64_children_time64;
__ftw64_time64;
__nftw64_time64;
+ __gai_suspend_time64;
__getitimer64;
__getrusage64;
__gettimeofday64;
@@ -310,11 +311,3 @@ ld {
__nptl_change_stack_perm;
}
}
-
-libanl {
-%ifdef TIME64_NON_DEFAULT
- GLIBC_2.34 {
- __gai_suspend_time64;
- }
-%endif
-}
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
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index ea7fdabc5a..6730cbdd6b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -937,7 +937,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
@@ -947,6 +950,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
@@ -2422,6 +2426,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 8b1adc918b..63de4fadc3 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2125,6 +2125,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
@@ -2521,6 +2525,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 740f39add4..2f13701fd7 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -886,7 +886,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
@@ -894,6 +897,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
@@ -2181,6 +2185,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 6f41d2c0fa..9b824f1605 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -214,6 +214,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
@@ -318,6 +319,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F
@@ -1354,7 +1359,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
@@ -1364,6 +1372,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 695f809fce..443a81b8f7 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -211,6 +211,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
@@ -315,6 +316,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F
@@ -1351,7 +1356,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
@@ -1361,6 +1369,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 cc017b487f..243de3cf93 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -925,7 +925,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
@@ -934,6 +937,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
@@ -2342,6 +2346,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
@@ -2446,6 +2451,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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)
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 b6b087d6ac..24ae58bb6f 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1970,6 +1970,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
@@ -2295,6 +2299,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
@@ -2399,6 +2404,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 40f740253b..09bebcd5a1 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2138,6 +2138,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
@@ -2478,6 +2482,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
@@ -2583,6 +2588,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 157f244ea0..0bafe09253 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1992,6 +1992,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
@@ -2359,6 +2363,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 bbc40bb608..c1fcde4c24 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -215,6 +215,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
@@ -319,6 +320,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F
@@ -1343,7 +1348,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
@@ -1353,6 +1361,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 5aba59e956..407651cfd7 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2094,6 +2094,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
@@ -2422,6 +2426,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
@@ -2526,6 +2531,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 bfa665f086..7da722a734 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -939,7 +939,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
@@ -949,6 +952,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
@@ -2393,6 +2397,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
@@ -2497,6 +2502,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 cf93327b44..c374607b81 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -939,7 +939,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
@@ -949,6 +952,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
@@ -2390,6 +2394,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
@@ -2494,6 +2499,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 1ff01ce150..b1f426e053 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2064,6 +2064,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
@@ -2387,6 +2391,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
@@ -2491,6 +2496,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 104d8cbc02..066ceb2258 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2062,6 +2062,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
@@ -2385,6 +2389,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
@@ -2489,6 +2494,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 6285d3c8f8..51c563ebbe 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2060,6 +2060,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
@@ -2393,6 +2397,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
@@ -2497,6 +2502,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 6a4c1816d4..28db715d8a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2056,6 +2056,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
@@ -2410,6 +2414,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 4cc199dbdb..ab9f2bd42c 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -982,7 +982,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
@@ -992,6 +995,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
@@ -2432,6 +2436,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
@@ -2536,6 +2541,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 46a5759c0a..83f8513e17 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2098,6 +2098,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
@@ -2449,6 +2453,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
@@ -2553,6 +2558,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 10ac038d7c..0fad357bf6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2102,6 +2102,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
@@ -2482,6 +2486,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
@@ -2586,6 +2591,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 eaa36b3fc7..424ec8d953 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -949,7 +949,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
@@ -959,6 +962,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
@@ -2323,6 +2327,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 9d7c55a4b5..9909fd0e9a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1025,7 +1025,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
@@ -1035,6 +1038,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
@@ -2618,6 +2622,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 b902197ee9..7085989b16 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -883,7 +883,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
@@ -891,6 +894,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
@@ -2183,6 +2187,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 9609912bd5..a855997957 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -922,7 +922,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
@@ -931,6 +934,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
@@ -2383,6 +2387,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 8f11602d61..12aeb82520 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/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
@@ -2447,6 +2451,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
@@ -2551,6 +2556,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 876aa5ea80..e2d746ad5f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1987,6 +1987,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
@@ -2360,6 +2364,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 c4b037321b..1ce4b54bf2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1974,6 +1974,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
@@ -2302,6 +2306,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
@@ -2406,6 +2411,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 fbceadac42..7d01add713 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1974,6 +1974,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,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
@@ -2403,6 +2408,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 12f050136c..b5ef3247d7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2091,6 +2091,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
@@ -2546,6 +2551,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 bc99f6f6d7..14ae7c8417 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2018,6 +2018,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,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 0d98e85292..57c4f28d17 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -868,7 +868,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
@@ -878,6 +881,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
@@ -2338,6 +2342,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login 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 b6d917c71e..47211abe4e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -941,7 +941,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
@@ -951,6 +954,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
@@ -2437,6 +2441,10 @@ GLIBC_2.34 dlsym F
GLIBC_2.34 dlvsym F
GLIBC_2.34 execveat F
GLIBC_2.34 forkpty 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 lio_listio F
GLIBC_2.34 lio_listio64 F
GLIBC_2.34 login F