diff mbox series

[20/24] resolv: Move res_send, res_nsend into libc

Message ID 515cc573b2353d80725f49470ba336f68de421d1.1626339931.git.fweimer@redhat.com
State New
Headers show
Series Move nss_dns and parts of libresolv into libc | expand

Commit Message

Florian Weimer July 15, 2021, 9:10 a.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                               |  8 ++-
 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, 177 insertions(+), 92 deletions(-)

Comments

Carlos O'Donell July 19, 2021, 1:54 a.m. UTC | #1
On 7/15/21 5:10 AM, Florian Weimer via Libc-alpha wrote:
> 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.

Fixed the duplicate Version entry.

OK for 2.34.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> ---
>  resolv/Makefile                               |  4 +-
>  resolv/Versions                               |  8 ++-
>  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, 177 insertions(+), 92 deletions(-)
> 
> 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..429b3304c4 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,7 @@ libc {
>      __ns_name_uncompress;
>      __ns_name_unpack;
>      __res_context_hostalias;
> +    __res_context_send;

OK. Just one this time. Fixed.

>      __res_get_nsaddr;
>      __res_iclose;
>      __resolv_context_get;
> @@ -126,7 +132,6 @@ libresolv {
>      __res_isourserver;
>      __res_nameinquery;
>      __res_queriesmatch;
> -    __res_send;
>      __sym_ntop;
>      __sym_ntos;
>      __sym_ston;
> @@ -159,7 +164,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 9cce53f67b..39c5e59d31 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 cf3f4b6548..12cba8480b 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
> @@ -2263,7 +2265,9 @@ GLIBC_2.34 posix_spawn_file_actions_addclosefrom_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 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 1a8736f86f..78d6ca79ea 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
> @@ -2566,7 +2568,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 be66c6f9a2..8f94a0b4cc 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
> @@ -2659,7 +2661,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 04f3b337b5..dc86ab3d5d 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
> @@ -2325,7 +2327,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 bd79006ad5..7f4235e1a7 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/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
> @@ -846,8 +848,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 7466152af7..e14410d5b8 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -442,7 +442,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
> @@ -843,8 +845,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 0e1d1c0688..ccb6d3048b 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
> @@ -2591,7 +2593,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 b6ce2d11df..f7303589df 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
> @@ -2538,7 +2540,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 e364a01f1e..b5d3084f8b 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
> @@ -2722,7 +2724,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 08bbbce4a2..49fa6e109d 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
> @@ -2497,7 +2499,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 eb9e9ac07d..37356621aa 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -446,7 +446,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
> @@ -832,8 +834,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 b408481e59..cbbd396f8f 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
> @@ -2665,7 +2667,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 c9a8d74767..a06665d2a5 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
> @@ -2642,7 +2644,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 e409a40746..02b859afb2 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
> @@ -2639,7 +2641,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 014913aca8..6dfcd3d474 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
> @@ -2630,7 +2632,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 bc70779dd2..1782e7a113 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
> @@ -2628,7 +2630,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 e71fd1249b..36334df8b9 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
> @@ -2636,7 +2638,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 b2760740e1..8841efbe76 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
> @@ -2548,7 +2550,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 8bd4793e3f..ac77a8ba64 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
> @@ -2681,7 +2683,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 3b25e6893a..8fb867e176 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
> @@ -2692,7 +2694,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 78a501fac1..98c92fc2d8 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
> @@ -2725,7 +2727,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 fc5d03b3fe..eb77c459a0 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
> @@ -2460,7 +2462,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 44550469c2..9d9c61fe79 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
> @@ -2762,7 +2764,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 289f148fb2..1a9301fe5d 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
> @@ -2327,7 +2329,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 738405ecca..93f6b17743 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
> @@ -2527,7 +2529,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 bfb4d0168f..14b8be0b17 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
> @@ -2690,7 +2692,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 ed73e1c75b..11bc28b033 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
> @@ -2497,7 +2499,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 ac8eb152d5..fc5f5948f3 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
> @@ -2545,7 +2547,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 28c54dfe63..29c3521df1 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
> @@ -2542,7 +2544,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 9e4fe11b6e..c9bd20080b 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
> @@ -2685,7 +2687,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 66cf930fa9..e336393be4 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
> @@ -2520,7 +2522,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 1915276f61..3e079a3783 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
> @@ -2475,7 +2477,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 777d7614ee..540e30dd94 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
> @@ -2581,7 +2583,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
> 

OK. Everything else looks the same.
diff mbox series

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..429b3304c4 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,7 @@  libc {
     __ns_name_uncompress;
     __ns_name_unpack;
     __res_context_hostalias;
+    __res_context_send;
     __res_get_nsaddr;
     __res_iclose;
     __resolv_context_get;
@@ -126,7 +132,6 @@  libresolv {
     __res_isourserver;
     __res_nameinquery;
     __res_queriesmatch;
-    __res_send;
     __sym_ntop;
     __sym_ntos;
     __sym_ston;
@@ -159,7 +164,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 9cce53f67b..39c5e59d31 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 cf3f4b6548..12cba8480b 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
@@ -2263,7 +2265,9 @@  GLIBC_2.34 posix_spawn_file_actions_addclosefrom_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 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 1a8736f86f..78d6ca79ea 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
@@ -2566,7 +2568,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 be66c6f9a2..8f94a0b4cc 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
@@ -2659,7 +2661,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 04f3b337b5..dc86ab3d5d 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
@@ -2325,7 +2327,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 bd79006ad5..7f4235e1a7 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/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
@@ -846,8 +848,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 7466152af7..e14410d5b8 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -442,7 +442,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
@@ -843,8 +845,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 0e1d1c0688..ccb6d3048b 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
@@ -2591,7 +2593,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 b6ce2d11df..f7303589df 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
@@ -2538,7 +2540,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 e364a01f1e..b5d3084f8b 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
@@ -2722,7 +2724,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 08bbbce4a2..49fa6e109d 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
@@ -2497,7 +2499,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 eb9e9ac07d..37356621aa 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -446,7 +446,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
@@ -832,8 +834,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 b408481e59..cbbd396f8f 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
@@ -2665,7 +2667,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 c9a8d74767..a06665d2a5 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
@@ -2642,7 +2644,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 e409a40746..02b859afb2 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
@@ -2639,7 +2641,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 014913aca8..6dfcd3d474 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
@@ -2630,7 +2632,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 bc70779dd2..1782e7a113 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
@@ -2628,7 +2630,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 e71fd1249b..36334df8b9 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
@@ -2636,7 +2638,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 b2760740e1..8841efbe76 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
@@ -2548,7 +2550,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 8bd4793e3f..ac77a8ba64 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
@@ -2681,7 +2683,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 3b25e6893a..8fb867e176 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
@@ -2692,7 +2694,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 78a501fac1..98c92fc2d8 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
@@ -2725,7 +2727,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 fc5d03b3fe..eb77c459a0 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
@@ -2460,7 +2462,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 44550469c2..9d9c61fe79 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
@@ -2762,7 +2764,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 289f148fb2..1a9301fe5d 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
@@ -2327,7 +2329,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 738405ecca..93f6b17743 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
@@ -2527,7 +2529,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 bfb4d0168f..14b8be0b17 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
@@ -2690,7 +2692,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 ed73e1c75b..11bc28b033 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
@@ -2497,7 +2499,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 ac8eb152d5..fc5f5948f3 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
@@ -2545,7 +2547,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 28c54dfe63..29c3521df1 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
@@ -2542,7 +2544,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 9e4fe11b6e..c9bd20080b 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
@@ -2685,7 +2687,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 66cf930fa9..e336393be4 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
@@ -2520,7 +2522,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 1915276f61..3e079a3783 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
@@ -2475,7 +2477,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 777d7614ee..540e30dd94 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
@@ -2581,7 +2583,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