[26/30] resolv: Move res_send, res_nsend into libc

Message ID 8642f3cbe160ed69a56967c9c6efb4bd016fe5d4.1625251245.git.fweimer@redhat.com
State Superseded
Delegated to: Carlos O'Donell
Headers
Series Move nss_dns into libc |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Florian Weimer July 2, 2021, 6:49 p.m. UTC
  Switch to public symbols without __ prefix (due to improved
namespace management).

__res_send, __res_nsend were moved using the script (with
--no-new-version).  res_send@@GLIBC_2.34 and res_nsend@@GLIBC_2.34
were added using make update-all-abi.
---
 resolv/Makefile                               |  4 +-
 resolv/Versions                               |  9 +++-
 resolv/res_enable_icmp.c                      |  4 +-
 resolv/res_send.c                             | 54 +++++++++++--------
 resolv/resolv-internal.h                      |  3 +-
 resolv/resolv.h                               |  2 -
 sysdeps/mach/hurd/i386/libc.abilist           |  4 ++
 sysdeps/mach/hurd/i386/libresolv.abilist      |  2 -
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++
 .../unix/sysv/linux/aarch64/libresolv.abilist |  2 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++
 .../unix/sysv/linux/alpha/libresolv.abilist   |  2 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++
 sysdeps/unix/sysv/linux/arc/libresolv.abilist |  2 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/be/libresolv.abilist  |  2 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/le/libresolv.abilist  |  2 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++
 .../unix/sysv/linux/csky/libresolv.abilist    |  2 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++
 .../unix/sysv/linux/hppa/libresolv.abilist    |  2 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++
 .../unix/sysv/linux/i386/libresolv.abilist    |  2 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++
 .../unix/sysv/linux/ia64/libresolv.abilist    |  2 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++
 .../linux/m68k/coldfire/libresolv.abilist     |  2 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++
 .../sysv/linux/m68k/m680x0/libresolv.abilist  |  2 -
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++
 .../linux/microblaze/be/libresolv.abilist     |  2 -
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++
 .../linux/microblaze/le/libresolv.abilist     |  2 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips32/libresolv.abilist  |  2 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
 .../linux/mips/mips64/n32/libresolv.abilist   |  2 -
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
 .../linux/mips/mips64/n64/libresolv.abilist   |  2 -
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++
 .../unix/sysv/linux/nios2/libresolv.abilist   |  2 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++
 .../linux/powerpc/powerpc32/libresolv.abilist |  2 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++
 .../powerpc/powerpc64/be/libresolv.abilist    |  2 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++
 .../powerpc/powerpc64/le/libresolv.abilist    |  2 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv32/libresolv.abilist   |  2 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv64/libresolv.abilist   |  2 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++
 .../sysv/linux/s390/s390-32/libresolv.abilist |  2 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++
 .../sysv/linux/s390/s390-64/libresolv.abilist |  2 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/be/libresolv.abilist   |  2 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/le/libresolv.abilist   |  2 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++
 .../linux/sparc/sparc32/libresolv.abilist     |  2 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++
 .../linux/sparc/sparc64/libresolv.abilist     |  2 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++
 .../sysv/linux/x86_64/64/libresolv.abilist    |  2 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++
 .../sysv/linux/x86_64/x32/libresolv.abilist   |  2 -
 70 files changed, 178 insertions(+), 92 deletions(-)
  

Patch

diff --git a/resolv/Makefile b/resolv/Makefile
index 8c28afe5c4..e9689f7e2c 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -49,6 +49,7 @@  routines := \
   res-name-checking \
   res-state \
   res_context_hostalias \
+  res_enable_icmp \
   res_get_nsaddr \
   res_hconf \
   res_init \
@@ -56,6 +57,7 @@  routines := \
   res_nameinquery \
   res_queriesmatch \
   res_randomid \
+  res_send \
   resolv_conf \
   resolv_context \
   # routines
@@ -151,12 +153,10 @@  libresolv-routines := \
   res-putget \
   res_data \
   res_debug \
-  res_enable_icmp \
   res_hostalias \
   res_isourserver \
   res_mkquery \
   res_query \
-  res_send \
   resolv-deprecated \
   # libresolv-routines
 
diff --git a/resolv/Versions b/resolv/Versions
index b084660dde..21b7af73c5 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -6,8 +6,10 @@  libc {
     __res_dnok;
     __res_hnok;
     __res_mailok;
+    __res_nsend;
     __res_ownok;
     __res_randomid;
+    __res_send;
     _res;
     dn_expand;
     h_errlist;
@@ -21,6 +23,7 @@  libc {
     __res_init;
     __res_nclose;
     __res_ninit;
+    __res_nsend;
     __res_state;
     _res_hconf;
   }
@@ -61,7 +64,9 @@  libc {
     res_dnok;
     res_hnok;
     res_mailok;
+    res_nsend;
     res_ownok;
+    res_send;
   }
   GLIBC_PRIVATE {
 %if !PTHREAD_IN_LIBC
@@ -86,6 +91,8 @@  libc {
     __ns_name_uncompress;
     __ns_name_unpack;
     __res_context_hostalias;
+    __res_context_send;
+    __res_context_send;
     __res_get_nsaddr;
     __res_iclose;
     __resolv_context_get;
@@ -126,7 +133,6 @@  libresolv {
     __res_isourserver;
     __res_nameinquery;
     __res_queriesmatch;
-    __res_send;
     __sym_ntop;
     __sym_ntos;
     __sym_ston;
@@ -159,7 +165,6 @@  libresolv {
     __res_nquery;
     __res_nquerydomain;
     __res_nsearch;
-    __res_nsend;
     __res_query;
     __res_querydomain;
     __res_search;
diff --git a/resolv/res_enable_icmp.c b/resolv/res_enable_icmp.c
index 9aa61823df..3bfe6e4f4c 100644
--- a/resolv/res_enable_icmp.c
+++ b/resolv/res_enable_icmp.c
@@ -27,9 +27,9 @@  __res_enable_icmp (int family, int fd)
   switch (family)
     {
     case AF_INET:
-      return setsockopt (fd, SOL_IP, IP_RECVERR, &one, sizeof (one));
+      return __setsockopt (fd, SOL_IP, IP_RECVERR, &one, sizeof (one));
     case AF_INET6:
-      return setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &one, sizeof (one));
+      return __setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &one, sizeof (one));
     default:
       __set_errno (EAFNOSUPPORT);
       return -1;
diff --git a/resolv/res_send.c b/resolv/res_send.c
index b502ef5132..9f86f5fe47 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -425,6 +425,7 @@  __res_context_send (struct resolv_context *ctx,
 		__set_errno (terrno);
 	return (-1);
 }
+libc_hidden_def (__res_context_send)
 
 /* Common part of res_nsend and res_send.  */
 static int
@@ -444,19 +445,28 @@  context_send_common (struct resolv_context *ctx,
 }
 
 int
-res_nsend (res_state statp, const unsigned char *buf, int buflen,
-	   unsigned char *ans, int anssiz)
+___res_nsend (res_state statp, const unsigned char *buf, int buflen,
+	      unsigned char *ans, int anssiz)
 {
   return context_send_common
     (__resolv_context_get_override (statp), buf, buflen, ans, anssiz);
 }
+versioned_symbol (libc, ___res_nsend, res_nsend, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libresolv, ___res_nsend, __res_nsend, GLIBC_2_2);
+#endif
 
 int
-res_send (const unsigned char *buf, int buflen, unsigned char *ans, int anssiz)
+___res_send (const unsigned char *buf, int buflen, unsigned char *ans,
+	     int anssiz)
 {
   return context_send_common
     (__resolv_context_get (), buf, buflen, ans, anssiz);
 }
+versioned_symbol (libc, ___res_send, res_send, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libresolv, ___res_send, __res_send, GLIBC_2_0);
+#endif
 
 /* Private */
 
@@ -582,9 +592,9 @@  send_vc(res_state statp,
 		struct sockaddr_in6 peer;
 		socklen_t size = sizeof peer;
 
-		if (getpeername(statp->_vcsock,
-				(struct sockaddr *)&peer, &size) < 0 ||
-		    !sock_eq(&peer, (struct sockaddr_in6 *) nsap)) {
+		if (__getpeername (statp->_vcsock,
+				   (struct sockaddr *) &peer, &size) < 0
+		    || !sock_eq (&peer, (struct sockaddr_in6 *) nsap)) {
 			__res_iclose(statp, false);
 			statp->_flags &= ~RES_F_VC;
 		}
@@ -594,7 +604,7 @@  send_vc(res_state statp,
 		if (statp->_vcsock >= 0)
 		  __res_iclose(statp, false);
 
-		statp->_vcsock = socket
+		statp->_vcsock = __socket
 		  (nsap->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0);
 		if (statp->_vcsock < 0) {
 			*terrno = errno;
@@ -603,10 +613,10 @@  send_vc(res_state statp,
 			return (-1);
 		}
 		__set_errno (0);
-		if (connect(statp->_vcsock, nsap,
-			    nsap->sa_family == AF_INET
-			    ? sizeof (struct sockaddr_in)
-			    : sizeof (struct sockaddr_in6)) < 0) {
+		if (__connect (statp->_vcsock, nsap,
+			       nsap->sa_family == AF_INET
+			       ? sizeof (struct sockaddr_in)
+			       : sizeof (struct sockaddr_in6)) < 0) {
 			*terrno = errno;
 			return close_and_return_error (statp, resplen2);
 		}
@@ -628,7 +638,8 @@  send_vc(res_state statp,
 		niov = 4;
 		explen += INT16SZ + buflen2;
 	}
-	if (TEMP_FAILURE_RETRY (writev(statp->_vcsock, iov, niov)) != explen) {
+	if (TEMP_FAILURE_RETRY (__writev (statp->_vcsock, iov, niov))
+	    != explen) {
 		*terrno = errno;
 		return close_and_return_error (statp, resplen2);
 	}
@@ -789,14 +800,14 @@  reopen (res_state statp, int *terrno, int ns)
 
 		/* only try IPv6 if IPv6 NS and if not failed before */
 		if (nsap->sa_family == AF_INET6 && !statp->ipv6_unavail) {
-			EXT(statp).nssocks[ns] = socket
+			EXT (statp).nssocks[ns] = __socket
 			  (PF_INET6,
 			   SOCK_DGRAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
 			if (EXT(statp).nssocks[ns] < 0)
 			    statp->ipv6_unavail = errno == EAFNOSUPPORT;
 			slen = sizeof (struct sockaddr_in6);
 		} else if (nsap->sa_family == AF_INET) {
-			EXT(statp).nssocks[ns] = socket
+			EXT (statp).nssocks[ns] = __socket
 			  (PF_INET,
 			   SOCK_DGRAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
 			slen = sizeof (struct sockaddr_in);
@@ -837,7 +848,7 @@  reopen (res_state statp, int *terrno, int ns)
 		   the call to connect with slen.  */
 		DIAG_PUSH_NEEDS_COMMENT;
 		DIAG_IGNORE_Os_NEEDS_COMMENT (5, "-Wmaybe-uninitialized");
-		if (connect(EXT(statp).nssocks[ns], nsap, slen) < 0) {
+		if (__connect (EXT (statp).nssocks[ns], nsap, slen) < 0) {
 		DIAG_POP_NEEDS_COMMENT;
 			__res_iclose(statp, false);
 			return (0);
@@ -1090,9 +1101,9 @@  send_dg(res_state statp,
 		  try_send:
 #endif
 		    if (nwritten != 0)
-		      sr = send (pfd[0].fd, buf2, buflen2, MSG_NOSIGNAL);
+		      sr = __send (pfd[0].fd, buf2, buflen2, MSG_NOSIGNAL);
 		    else
-		      sr = send (pfd[0].fd, buf, buflen, MSG_NOSIGNAL);
+		      sr = __send (pfd[0].fd, buf, buflen, MSG_NOSIGNAL);
 
 		    if (sr != (nwritten != 0 ? buflen2 : buflen)) {
 		      if (errno == EINTR || errno == EAGAIN)
@@ -1133,7 +1144,7 @@  send_dg(res_state statp,
 		    && (thisansp != NULL && thisansp != ansp)
 #ifdef FIONREAD
 		    /* Is the size too small?  */
-		    && (ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
+		    && (__ioctl (pfd[0].fd, FIONREAD, thisresplenp) < 0
 			|| *thisanssizp < *thisresplenp)
 #endif
                     ) {
@@ -1160,9 +1171,10 @@  send_dg(res_state statp,
 		HEADER *anhp = (HEADER *) *thisansp;
 		socklen_t fromlen = sizeof(struct sockaddr_in6);
 		assert (sizeof(from) <= fromlen);
-		*thisresplenp = recvfrom(pfd[0].fd, (char*)*thisansp,
-					 *thisanssizp, 0,
-					(struct sockaddr *)&from, &fromlen);
+		*thisresplenp = __recvfrom (pfd[0].fd, (char *) *thisansp,
+					    *thisanssizp, 0,
+					    (struct sockaddr *) &from,
+					    &fromlen);
 		if (__glibc_unlikely (*thisresplenp <= 0))       {
 			if (errno == EINTR || errno == EAGAIN) {
 				need_recompute = 1;
diff --git a/resolv/resolv-internal.h b/resolv/resolv-internal.h
index 7d37817232..1e21c38cc7 100644
--- a/resolv/resolv-internal.h
+++ b/resolv/resolv-internal.h
@@ -74,7 +74,8 @@  libresolv_hidden_proto (__res_context_query)
 int __res_context_send (struct resolv_context *, const unsigned char *, int,
                         const unsigned char *, int, unsigned char *,
                         int, unsigned char **, unsigned char **,
-                        int *, int *, int *) attribute_hidden;
+                        int *, int *, int *);
+libc_hidden_proto (__res_context_send)
 
 /* Internal function similar to res_hostalias.  */
 const char *__res_context_hostalias (struct resolv_context *,
diff --git a/resolv/resolv.h b/resolv/resolv.h
index d4e401b580..66944008fd 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -172,7 +172,6 @@  __END_DECLS
 #define res_query		__res_query
 #define res_querydomain		__res_querydomain
 #define res_search		__res_search
-#define res_send		__res_send
 
 #ifdef _LIBC
 # define __RESOLV_DEPRECATED
@@ -233,7 +232,6 @@  __END_DECLS
 #define res_nquery		__res_nquery
 #define res_nquerydomain	__res_nquerydomain
 #define res_nsearch		__res_nsearch
-#define res_nsend		__res_nsend
 #define res_queriesmatch	__res_queriesmatch
 #define res_randomid		__res_randomid
 #define sym_ntop		__sym_ntop
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 0c2b5983a8..956c92182b 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -407,8 +407,10 @@  GLIBC_2.2.6 __res_init F
 GLIBC_2.2.6 __res_mailok F
 GLIBC_2.2.6 __res_nclose F
 GLIBC_2.2.6 __res_ninit F
+GLIBC_2.2.6 __res_nsend F
 GLIBC_2.2.6 __res_ownok F
 GLIBC_2.2.6 __res_randomid F
+GLIBC_2.2.6 __res_send F
 GLIBC_2.2.6 __res_state F
 GLIBC_2.2.6 __rpc_thread_createerr F
 GLIBC_2.2.6 __rpc_thread_svc_fdset F
@@ -2261,7 +2263,9 @@  GLIBC_2.34 openpty F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 shm_open F
 GLIBC_2.34 shm_unlink F
 GLIBC_2.34 timespec_getres F
diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist
index 8166e6af58..2e772ae4e1 100644
--- a/sysdeps/mach/hurd/i386/libresolv.abilist
+++ b/sysdeps/mach/hurd/i386/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.2.6 __res_nmkquery F
 GLIBC_2.2.6 __res_nquery F
 GLIBC_2.2.6 __res_nquerydomain F
 GLIBC_2.2.6 __res_nsearch F
-GLIBC_2.2.6 __res_nsend F
 GLIBC_2.2.6 __res_queriesmatch F
 GLIBC_2.2.6 __res_query F
 GLIBC_2.2.6 __res_querydomain F
 GLIBC_2.2.6 __res_search F
-GLIBC_2.2.6 __res_send F
 GLIBC_2.2.6 __sym_ntop F
 GLIBC_2.2.6 __sym_ntos F
 GLIBC_2.2.6 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index cb2bfd3779..9bc89dcdc8 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -386,8 +386,10 @@  GLIBC_2.17 __res_init F
 GLIBC_2.17 __res_mailok F
 GLIBC_2.17 __res_nclose F
 GLIBC_2.17 __res_ninit F
+GLIBC_2.17 __res_nsend F
 GLIBC_2.17 __res_ownok F
 GLIBC_2.17 __res_randomid F
+GLIBC_2.17 __res_send F
 GLIBC_2.17 __res_state F
 GLIBC_2.17 __rpc_thread_createerr F
 GLIBC_2.17 __rpc_thread_svc_fdset F
@@ -2565,7 +2567,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
index 613638f9ce..d071a2c5ef 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.17 __res_nmkquery F
 GLIBC_2.17 __res_nquery F
 GLIBC_2.17 __res_nquerydomain F
 GLIBC_2.17 __res_nsearch F
-GLIBC_2.17 __res_nsend F
 GLIBC_2.17 __res_queriesmatch F
 GLIBC_2.17 __res_query F
 GLIBC_2.17 __res_querydomain F
 GLIBC_2.17 __res_search F
-GLIBC_2.17 __res_send F
 GLIBC_2.17 __sym_ntop F
 GLIBC_2.17 __sym_ntos F
 GLIBC_2.17 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 31882ba563..444c73a3ee 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -218,6 +218,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1978,6 +1979,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2658,7 +2660,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
index abfaf8840f..9e3b8f8c31 100644
--- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 00462b5520..92661d2b20 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -375,8 +375,10 @@  GLIBC_2.32 __res_init F
 GLIBC_2.32 __res_mailok F
 GLIBC_2.32 __res_nclose F
 GLIBC_2.32 __res_ninit F
+GLIBC_2.32 __res_nsend F
 GLIBC_2.32 __res_ownok F
 GLIBC_2.32 __res_randomid F
+GLIBC_2.32 __res_send F
 GLIBC_2.32 __res_state F
 GLIBC_2.32 __sbrk F
 GLIBC_2.32 __sched_cpualloc F
@@ -2324,7 +2326,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
index f3a103d072..a9599afe6d 100644
--- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.32 __res_nmkquery F
 GLIBC_2.32 __res_nquery F
 GLIBC_2.32 __res_nquerydomain F
 GLIBC_2.32 __res_nsearch F
-GLIBC_2.32 __res_nsend F
 GLIBC_2.32 __res_queriesmatch F
 GLIBC_2.32 __res_query F
 GLIBC_2.32 __res_querydomain F
 GLIBC_2.32 __res_search F
-GLIBC_2.32 __res_send F
 GLIBC_2.32 __sym_ntop F
 GLIBC_2.32 __sym_ntos F
 GLIBC_2.32 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index ce88c66270..7f741fd135 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -444,7 +444,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
@@ -845,8 +847,10 @@  GLIBC_2.4 __res_init F
 GLIBC_2.4 __res_mailok F
 GLIBC_2.4 __res_nclose F
 GLIBC_2.4 __res_ninit F
+GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_ownok F
 GLIBC_2.4 __res_randomid F
+GLIBC_2.4 __res_send F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __rpc_thread_createerr F
 GLIBC_2.4 __rpc_thread_svc_fdset F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
index a2ca6abc87..722feb80b6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.4 __res_nmkquery F
 GLIBC_2.4 __res_nquery F
 GLIBC_2.4 __res_nquerydomain F
 GLIBC_2.4 __res_nsearch F
-GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_queriesmatch F
 GLIBC_2.4 __res_query F
 GLIBC_2.4 __res_querydomain F
 GLIBC_2.4 __res_search F
-GLIBC_2.4 __res_send F
 GLIBC_2.4 __sym_ntop F
 GLIBC_2.4 __sym_ntos F
 GLIBC_2.4 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 1b3daa54b2..63a4230c49 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -441,7 +441,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
@@ -842,8 +844,10 @@  GLIBC_2.4 __res_init F
 GLIBC_2.4 __res_mailok F
 GLIBC_2.4 __res_nclose F
 GLIBC_2.4 __res_ninit F
+GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_ownok F
 GLIBC_2.4 __res_randomid F
+GLIBC_2.4 __res_send F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __rpc_thread_createerr F
 GLIBC_2.4 __rpc_thread_svc_fdset F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
index a2ca6abc87..722feb80b6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.4 __res_nmkquery F
 GLIBC_2.4 __res_nquery F
 GLIBC_2.4 __res_nquerydomain F
 GLIBC_2.4 __res_nsearch F
-GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_queriesmatch F
 GLIBC_2.4 __res_query F
 GLIBC_2.4 __res_querydomain F
 GLIBC_2.4 __res_search F
-GLIBC_2.4 __res_send F
 GLIBC_2.4 __sym_ntop F
 GLIBC_2.4 __sym_ntos F
 GLIBC_2.4 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 056fedf121..29f34efbef 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -379,8 +379,10 @@  GLIBC_2.29 __res_init F
 GLIBC_2.29 __res_mailok F
 GLIBC_2.29 __res_nclose F
 GLIBC_2.29 __res_ninit F
+GLIBC_2.29 __res_nsend F
 GLIBC_2.29 __res_ownok F
 GLIBC_2.29 __res_randomid F
+GLIBC_2.29 __res_send F
 GLIBC_2.29 __res_state F
 GLIBC_2.29 __rpc_thread_createerr F
 GLIBC_2.29 __rpc_thread_svc_fdset F
@@ -2590,7 +2592,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
index df1d7ebd48..d94fe24625 100644
--- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.29 __res_nmkquery F
 GLIBC_2.29 __res_nquery F
 GLIBC_2.29 __res_nquerydomain F
 GLIBC_2.29 __res_nsearch F
-GLIBC_2.29 __res_nsend F
 GLIBC_2.29 __res_queriesmatch F
 GLIBC_2.29 __res_query F
 GLIBC_2.29 __res_querydomain F
 GLIBC_2.29 __res_search F
-GLIBC_2.29 __res_send F
 GLIBC_2.29 __sym_ntop F
 GLIBC_2.29 __sym_ntos F
 GLIBC_2.29 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index e5df8dfb66..150f119985 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -4,6 +4,7 @@  GLIBC_2.0 __res_dnok F
 GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
@@ -428,6 +429,7 @@  GLIBC_2.2 __realloc_hook D 0x4
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_randomid F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
@@ -2537,7 +2539,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 5858649b2f..7bbb872f75 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -211,6 +211,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1982,6 +1983,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2721,7 +2723,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 8098431f1c..b4471465ef 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -4,6 +4,7 @@  GLIBC_2.0 __res_dnok F
 GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
@@ -432,6 +433,7 @@  GLIBC_2.2 __realloc_hook D 0x8
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_randomid F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
@@ -2496,7 +2498,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
index abfaf8840f..9e3b8f8c31 100644
--- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6941dc8a9f..dcf0f0002d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -445,7 +445,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
@@ -831,8 +833,10 @@  GLIBC_2.4 __res_init F
 GLIBC_2.4 __res_mailok F
 GLIBC_2.4 __res_nclose F
 GLIBC_2.4 __res_ninit F
+GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_ownok F
 GLIBC_2.4 __res_randomid F
+GLIBC_2.4 __res_send F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __rpc_thread_createerr F
 GLIBC_2.4 __rpc_thread_svc_fdset F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
index a2ca6abc87..722feb80b6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.4 __res_nmkquery F
 GLIBC_2.4 __res_nquery F
 GLIBC_2.4 __res_nquerydomain F
 GLIBC_2.4 __res_nsearch F
-GLIBC_2.4 __res_nsend F
 GLIBC_2.4 __res_queriesmatch F
 GLIBC_2.4 __res_query F
 GLIBC_2.4 __res_querydomain F
 GLIBC_2.4 __res_search F
-GLIBC_2.4 __res_send F
 GLIBC_2.4 __sym_ntop F
 GLIBC_2.4 __sym_ntos F
 GLIBC_2.4 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 2724565feb..56722c0f22 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -211,6 +211,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1938,6 +1939,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2664,7 +2666,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 2eb5fed52d..ee019cae8b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -387,8 +387,10 @@  GLIBC_2.18 __res_init F
 GLIBC_2.18 __res_mailok F
 GLIBC_2.18 __res_nclose F
 GLIBC_2.18 __res_ninit F
+GLIBC_2.18 __res_nsend F
 GLIBC_2.18 __res_ownok F
 GLIBC_2.18 __res_randomid F
+GLIBC_2.18 __res_send F
 GLIBC_2.18 __res_state F
 GLIBC_2.18 __rpc_thread_createerr F
 GLIBC_2.18 __rpc_thread_svc_fdset F
@@ -2641,7 +2643,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
index 2e35f266cd..a3350181fe 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.18 __res_nmkquery F
 GLIBC_2.18 __res_nquery F
 GLIBC_2.18 __res_nquerydomain F
 GLIBC_2.18 __res_nsearch F
-GLIBC_2.18 __res_nsend F
 GLIBC_2.18 __res_queriesmatch F
 GLIBC_2.18 __res_query F
 GLIBC_2.18 __res_querydomain F
 GLIBC_2.18 __res_search F
-GLIBC_2.18 __res_send F
 GLIBC_2.18 __sym_ntop F
 GLIBC_2.18 __sym_ntos F
 GLIBC_2.18 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 5da6906e19..e6202e984d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -387,8 +387,10 @@  GLIBC_2.18 __res_init F
 GLIBC_2.18 __res_mailok F
 GLIBC_2.18 __res_nclose F
 GLIBC_2.18 __res_ninit F
+GLIBC_2.18 __res_nsend F
 GLIBC_2.18 __res_ownok F
 GLIBC_2.18 __res_randomid F
+GLIBC_2.18 __res_send F
 GLIBC_2.18 __res_state F
 GLIBC_2.18 __rpc_thread_createerr F
 GLIBC_2.18 __rpc_thread_svc_fdset F
@@ -2638,7 +2640,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
index 2e35f266cd..a3350181fe 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.18 __res_nmkquery F
 GLIBC_2.18 __res_nquery F
 GLIBC_2.18 __res_nquerydomain F
 GLIBC_2.18 __res_nsearch F
-GLIBC_2.18 __res_nsend F
 GLIBC_2.18 __res_queriesmatch F
 GLIBC_2.18 __res_query F
 GLIBC_2.18 __res_querydomain F
 GLIBC_2.18 __res_search F
-GLIBC_2.18 __res_send F
 GLIBC_2.18 __sym_ntop F
 GLIBC_2.18 __sym_ntos F
 GLIBC_2.18 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 36ff79120a..cc6d7a06b3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -209,6 +209,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1591,6 +1592,7 @@  GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __signbit F
@@ -2629,7 +2631,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 262dafa1f3..37e72aa024 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -209,6 +209,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1589,6 +1590,7 @@  GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __signbit F
@@ -2627,7 +2629,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index f213a1897f..ab34c11c0c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -209,6 +209,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1589,6 +1590,7 @@  GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __signbit F
@@ -2635,7 +2637,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index f5a432e96d..ac1d00db89 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -209,6 +209,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1585,6 +1586,7 @@  GLIBC_2.2 __rawmemchr F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __signbit F
@@ -2547,7 +2549,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
index abfaf8840f..9e3b8f8c31 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 82162f919d..5d0ab2b4b5 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -424,8 +424,10 @@  GLIBC_2.21 __res_init F
 GLIBC_2.21 __res_mailok F
 GLIBC_2.21 __res_nclose F
 GLIBC_2.21 __res_ninit F
+GLIBC_2.21 __res_nsend F
 GLIBC_2.21 __res_ownok F
 GLIBC_2.21 __res_randomid F
+GLIBC_2.21 __res_send F
 GLIBC_2.21 __res_state F
 GLIBC_2.21 __rpc_thread_createerr F
 GLIBC_2.21 __rpc_thread_svc_fdset F
@@ -2680,7 +2682,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
index 14395d8bf4..48cf067b8b 100644
--- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.21 __res_nmkquery F
 GLIBC_2.21 __res_nquery F
 GLIBC_2.21 __res_nquerydomain F
 GLIBC_2.21 __res_nsearch F
-GLIBC_2.21 __res_nsend F
 GLIBC_2.21 __res_queriesmatch F
 GLIBC_2.21 __res_query F
 GLIBC_2.21 __res_querydomain F
 GLIBC_2.21 __res_search F
-GLIBC_2.21 __res_send F
 GLIBC_2.21 __sym_ntop F
 GLIBC_2.21 __sym_ntos F
 GLIBC_2.21 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 2afd685b07..40a25c6816 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -220,6 +220,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1944,6 +1945,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2691,7 +2693,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index d7111c53a5..322e7d49c0 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -220,6 +220,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1948,6 +1949,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2724,7 +2726,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index d27bc07919..8242ca505f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -470,8 +470,10 @@  GLIBC_2.3 __res_init F
 GLIBC_2.3 __res_mailok F
 GLIBC_2.3 __res_nclose F
 GLIBC_2.3 __res_ninit F
+GLIBC_2.3 __res_nsend F
 GLIBC_2.3 __res_ownok F
 GLIBC_2.3 __res_randomid F
+GLIBC_2.3 __res_send F
 GLIBC_2.3 __res_state F
 GLIBC_2.3 __rpc_thread_createerr F
 GLIBC_2.3 __rpc_thread_svc_fdset F
@@ -2459,7 +2461,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
index d48ab674cc..708f9cd1d8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.3 __res_nmkquery F
 GLIBC_2.3 __res_nquery F
 GLIBC_2.3 __res_nquerydomain F
 GLIBC_2.3 __res_nsearch F
-GLIBC_2.3 __res_nsend F
 GLIBC_2.3 __res_queriesmatch F
 GLIBC_2.3 __res_query F
 GLIBC_2.3 __res_querydomain F
 GLIBC_2.3 __res_search F
-GLIBC_2.3 __res_send F
 GLIBC_2.3 __sym_ntop F
 GLIBC_2.3 __sym_ntos F
 GLIBC_2.3 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 20e1d587c3..36473c1832 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -472,8 +472,10 @@  GLIBC_2.17 __res_init F
 GLIBC_2.17 __res_mailok F
 GLIBC_2.17 __res_nclose F
 GLIBC_2.17 __res_ninit F
+GLIBC_2.17 __res_nsend F
 GLIBC_2.17 __res_ownok F
 GLIBC_2.17 __res_randomid F
+GLIBC_2.17 __res_send F
 GLIBC_2.17 __res_state F
 GLIBC_2.17 __rpc_thread_createerr F
 GLIBC_2.17 __rpc_thread_svc_fdset F
@@ -2761,7 +2763,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
index 613638f9ce..d071a2c5ef 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.17 __res_nmkquery F
 GLIBC_2.17 __res_nquery F
 GLIBC_2.17 __res_nquerydomain F
 GLIBC_2.17 __res_nsearch F
-GLIBC_2.17 __res_nsend F
 GLIBC_2.17 __res_queriesmatch F
 GLIBC_2.17 __res_query F
 GLIBC_2.17 __res_querydomain F
 GLIBC_2.17 __res_search F
-GLIBC_2.17 __res_send F
 GLIBC_2.17 __sym_ntop F
 GLIBC_2.17 __sym_ntos F
 GLIBC_2.17 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 891ee06d45..c092350f1b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -372,8 +372,10 @@  GLIBC_2.33 __res_init F
 GLIBC_2.33 __res_mailok F
 GLIBC_2.33 __res_nclose F
 GLIBC_2.33 __res_ninit F
+GLIBC_2.33 __res_nsend F
 GLIBC_2.33 __res_ownok F
 GLIBC_2.33 __res_randomid F
+GLIBC_2.33 __res_send F
 GLIBC_2.33 __res_state F
 GLIBC_2.33 __riscv_flush_icache F
 GLIBC_2.33 __sbrk F
@@ -2326,7 +2328,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
index 3b9691588e..bd9a317d8d 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.33 __res_nmkquery F
 GLIBC_2.33 __res_nquery F
 GLIBC_2.33 __res_nquerydomain F
 GLIBC_2.33 __res_nsearch F
-GLIBC_2.33 __res_nsend F
 GLIBC_2.33 __res_queriesmatch F
 GLIBC_2.33 __res_query F
 GLIBC_2.33 __res_querydomain F
 GLIBC_2.33 __res_search F
-GLIBC_2.33 __res_send F
 GLIBC_2.33 __sym_ntop F
 GLIBC_2.33 __sym_ntos F
 GLIBC_2.33 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 089c6b9de3..23036032e2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -383,8 +383,10 @@  GLIBC_2.27 __res_init F
 GLIBC_2.27 __res_mailok F
 GLIBC_2.27 __res_nclose F
 GLIBC_2.27 __res_ninit F
+GLIBC_2.27 __res_nsend F
 GLIBC_2.27 __res_ownok F
 GLIBC_2.27 __res_randomid F
+GLIBC_2.27 __res_send F
 GLIBC_2.27 __res_state F
 GLIBC_2.27 __riscv_flush_icache F
 GLIBC_2.27 __rpc_thread_createerr F
@@ -2526,7 +2528,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
index 4417916b78..e40b11fe0f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.27 __res_nmkquery F
 GLIBC_2.27 __res_nquery F
 GLIBC_2.27 __res_nquerydomain F
 GLIBC_2.27 __res_nsearch F
-GLIBC_2.27 __res_nsend F
 GLIBC_2.27 __res_queriesmatch F
 GLIBC_2.27 __res_query F
 GLIBC_2.27 __res_querydomain F
 GLIBC_2.27 __res_search F
-GLIBC_2.27 __res_send F
 GLIBC_2.27 __sym_ntop F
 GLIBC_2.27 __sym_ntos F
 GLIBC_2.27 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 7c02785103..5ed84830cb 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -211,6 +211,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1942,6 +1943,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2689,7 +2691,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index d294d9af62..13372d9c85 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -414,8 +414,10 @@  GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_mailok F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_ownok F
 GLIBC_2.2 __res_randomid F
+GLIBC_2.2 __res_send F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
 GLIBC_2.2 __sched_get_priority_max F
@@ -2496,7 +2498,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
index 07d7ef8935..f1c523177b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_queriesmatch F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
-GLIBC_2.2 __res_send F
 GLIBC_2.2 __sym_ntop F
 GLIBC_2.2 __sym_ntos F
 GLIBC_2.2 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a3e3845b3f..ec0f690bb0 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -8,6 +8,7 @@  GLIBC_2.0 __res_dnok F
 GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
@@ -432,6 +433,7 @@  GLIBC_2.2 __register_frame_info F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_randomid F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
@@ -2544,7 +2546,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 3a7ca365c8..375372f0ff 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -8,6 +8,7 @@  GLIBC_2.0 __res_dnok F
 GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
@@ -432,6 +433,7 @@  GLIBC_2.2 __register_frame_info F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_randomid F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
@@ -2541,7 +2543,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 61ebc732dd..e761671120 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -215,6 +215,7 @@  GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
 GLIBC_2.0 __res_randomid F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 __sbrk F
 GLIBC_2.0 __sched_get_priority_max F
 GLIBC_2.0 __sched_get_priority_min F
@@ -1940,6 +1941,7 @@  GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __setmntent F
 GLIBC_2.2 __statfs F
@@ -2684,7 +2686,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
index b6244e71e7..87c1434919 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 8417c58ddd..7e6db6fafe 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -8,6 +8,7 @@  GLIBC_2.0 __res_dnok F
 GLIBC_2.0 __res_hnok F
 GLIBC_2.0 __res_mailok F
 GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_send F
 GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
@@ -473,6 +474,7 @@  GLIBC_2.2 __register_frame_table F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_randomid F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sbrk F
@@ -2519,7 +2521,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
index abfaf8840f..9e3b8f8c31 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
@@ -25,7 +25,6 @@  GLIBC_2.0 __res_close F
 GLIBC_2.0 __res_isourserver F
 GLIBC_2.0 __res_nameinquery F
 GLIBC_2.0 __res_queriesmatch F
-GLIBC_2.0 __res_send F
 GLIBC_2.0 __sym_ntop F
 GLIBC_2.0 __sym_ntos F
 GLIBC_2.0 __sym_ston F
@@ -55,7 +54,6 @@  GLIBC_2.2 __res_nmkquery F
 GLIBC_2.2 __res_nquery F
 GLIBC_2.2 __res_nquerydomain F
 GLIBC_2.2 __res_nsearch F
-GLIBC_2.2 __res_nsend F
 GLIBC_2.2 __res_query F
 GLIBC_2.2 __res_querydomain F
 GLIBC_2.2 __res_search F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index d50726c678..3a4df00064 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -398,8 +398,10 @@  GLIBC_2.2.5 __res_init F
 GLIBC_2.2.5 __res_mailok F
 GLIBC_2.2.5 __res_nclose F
 GLIBC_2.2.5 __res_ninit F
+GLIBC_2.2.5 __res_nsend F
 GLIBC_2.2.5 __res_ownok F
 GLIBC_2.2.5 __res_randomid F
+GLIBC_2.2.5 __res_send F
 GLIBC_2.2.5 __res_state F
 GLIBC_2.2.5 __rpc_thread_createerr F
 GLIBC_2.2.5 __rpc_thread_svc_fdset F
@@ -2474,7 +2476,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
index 3375dd6380..dd49cbe641 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
@@ -30,12 +30,10 @@  GLIBC_2.2.5 __res_nmkquery F
 GLIBC_2.2.5 __res_nquery F
 GLIBC_2.2.5 __res_nquerydomain F
 GLIBC_2.2.5 __res_nsearch F
-GLIBC_2.2.5 __res_nsend F
 GLIBC_2.2.5 __res_queriesmatch F
 GLIBC_2.2.5 __res_query F
 GLIBC_2.2.5 __res_querydomain F
 GLIBC_2.2.5 __res_search F
-GLIBC_2.2.5 __res_send F
 GLIBC_2.2.5 __sym_ntop F
 GLIBC_2.2.5 __sym_ntos F
 GLIBC_2.2.5 __sym_ston F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 1e92ea4ce4..108d816493 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -387,8 +387,10 @@  GLIBC_2.16 __res_init F
 GLIBC_2.16 __res_mailok F
 GLIBC_2.16 __res_nclose F
 GLIBC_2.16 __res_ninit F
+GLIBC_2.16 __res_nsend F
 GLIBC_2.16 __res_ownok F
 GLIBC_2.16 __res_randomid F
+GLIBC_2.16 __res_send F
 GLIBC_2.16 __res_state F
 GLIBC_2.16 __rpc_thread_createerr F
 GLIBC_2.16 __rpc_thread_svc_fdset F
@@ -2580,7 +2582,9 @@  GLIBC_2.34 pthread_tryjoin_np F
 GLIBC_2.34 res_dnok F
 GLIBC_2.34 res_hnok F
 GLIBC_2.34 res_mailok F
+GLIBC_2.34 res_nsend F
 GLIBC_2.34 res_ownok F
+GLIBC_2.34 res_send F
 GLIBC_2.34 sem_clockwait F
 GLIBC_2.34 sem_close F
 GLIBC_2.34 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
index 99db09f022..298baa250e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
@@ -31,12 +31,10 @@  GLIBC_2.16 __res_nmkquery F
 GLIBC_2.16 __res_nquery F
 GLIBC_2.16 __res_nquerydomain F
 GLIBC_2.16 __res_nsearch F
-GLIBC_2.16 __res_nsend F
 GLIBC_2.16 __res_queriesmatch F
 GLIBC_2.16 __res_query F
 GLIBC_2.16 __res_querydomain F
 GLIBC_2.16 __res_search F
-GLIBC_2.16 __res_send F
 GLIBC_2.16 __sym_ntop F
 GLIBC_2.16 __sym_ntos F
 GLIBC_2.16 __sym_ston F