[05/30] resolv: Move ns_name_ntop to its own file and into libc

Message ID 7a1c00df6e37d322b4a6c75a28d0450ac3bd7ffe.1625755445.git.fweimer@redhat.com
State Committed
Headers
Series nss_dns move into libc |

Checks

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

Commit Message

Florian Weimer July 8, 2021, 3 p.m. UTC
  Reformat to GNU style.  Avoid out-of-bounds pointer arithmetic
(e.g., use eom - dn < 2 instead of dn + 1 >= eom).  Inline the
labellen function and fold the compression pointer check into
the length check (l >= 64).  Assume ASCII encoding.

The symbol was moved using scripts/move-symbol-to-libc.py.
---
 include/arpa/nameser.h                        |   4 +-
 resolv/Makefile                               |   1 +
 resolv/Versions                               |   7 +-
 resolv/ns_name.c                              | 128 +---------------
 resolv/ns_name_ntop.c                         | 145 ++++++++++++++++++
 sysdeps/mach/hurd/i386/libc.abilist           |   2 +
 sysdeps/mach/hurd/i386/libresolv.abilist      |   1 -
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |   2 +
 .../unix/sysv/linux/aarch64/libresolv.abilist |   1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |   2 +
 .../unix/sysv/linux/alpha/libresolv.abilist   |   1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |   2 +
 sysdeps/unix/sysv/linux/arc/libresolv.abilist |   1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   2 +
 .../unix/sysv/linux/arm/be/libresolv.abilist  |   1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   2 +
 .../unix/sysv/linux/arm/le/libresolv.abilist  |   1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |   2 +
 .../unix/sysv/linux/csky/libresolv.abilist    |   1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |   2 +
 .../unix/sysv/linux/hppa/libresolv.abilist    |   1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |   2 +
 .../unix/sysv/linux/i386/libresolv.abilist    |   1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |   2 +
 .../unix/sysv/linux/ia64/libresolv.abilist    |   1 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |   2 +
 .../linux/m68k/coldfire/libresolv.abilist     |   1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   2 +
 .../sysv/linux/m68k/m680x0/libresolv.abilist  |   1 -
 .../sysv/linux/microblaze/be/libc.abilist     |   2 +
 .../linux/microblaze/be/libresolv.abilist     |   1 -
 .../sysv/linux/microblaze/le/libc.abilist     |   2 +
 .../linux/microblaze/le/libresolv.abilist     |   1 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |   2 +
 .../sysv/linux/mips/mips32/libresolv.abilist  |   1 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |   2 +
 .../sysv/linux/mips/mips64/n32/libc.abilist   |   2 +
 .../linux/mips/mips64/n32/libresolv.abilist   |   1 -
 .../sysv/linux/mips/mips64/n64/libc.abilist   |   2 +
 .../linux/mips/mips64/n64/libresolv.abilist   |   1 -
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |   2 +
 .../unix/sysv/linux/nios2/libresolv.abilist   |   1 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |   2 +
 .../linux/powerpc/powerpc32/libresolv.abilist |   1 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |   2 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |   2 +
 .../powerpc/powerpc64/be/libresolv.abilist    |   1 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |   2 +
 .../powerpc/powerpc64/le/libresolv.abilist    |   1 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |   2 +
 .../sysv/linux/riscv/rv32/libresolv.abilist   |   1 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |   2 +
 .../sysv/linux/riscv/rv64/libresolv.abilist   |   1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |   2 +
 .../sysv/linux/s390/s390-32/libresolv.abilist |   1 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |   2 +
 .../sysv/linux/s390/s390-64/libresolv.abilist |   1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   2 +
 .../unix/sysv/linux/sh/be/libresolv.abilist   |   1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   2 +
 .../unix/sysv/linux/sh/le/libresolv.abilist   |   1 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |   2 +
 .../linux/sparc/sparc32/libresolv.abilist     |   1 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |   2 +
 .../linux/sparc/sparc64/libresolv.abilist     |   1 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |   2 +
 .../sysv/linux/x86_64/64/libresolv.abilist    |   1 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |   2 +
 .../sysv/linux/x86_64/x32/libresolv.abilist   |   1 -
 69 files changed, 221 insertions(+), 161 deletions(-)
 create mode 100644 resolv/ns_name_ntop.c
  

Comments

Carlos O'Donell July 15, 2021, 5 a.m. UTC | #1
On 7/8/21 11:00 AM, Florian Weimer via Libc-alpha wrote:
> Reformat to GNU style.  Avoid out-of-bounds pointer arithmetic
> (e.g., use eom - dn < 2 instead of dn + 1 >= eom).  Inline the
> labellen function and fold the compression pointer check into
> the length check (l >= 64).  Assume ASCII encoding.

OK for glibc 2.34.

Tested without regression on x86_64 and i686.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
 
> The symbol was moved using scripts/move-symbol-to-libc.py.
> ---
>  include/arpa/nameser.h                        |   4 +-
>  resolv/Makefile                               |   1 +
>  resolv/Versions                               |   7 +-
>  resolv/ns_name.c                              | 128 +---------------
>  resolv/ns_name_ntop.c                         | 145 ++++++++++++++++++
>  sysdeps/mach/hurd/i386/libc.abilist           |   2 +
>  sysdeps/mach/hurd/i386/libresolv.abilist      |   1 -
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |   2 +
>  .../unix/sysv/linux/aarch64/libresolv.abilist |   1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |   2 +
>  .../unix/sysv/linux/alpha/libresolv.abilist   |   1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist      |   2 +
>  sysdeps/unix/sysv/linux/arc/libresolv.abilist |   1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |   2 +
>  .../unix/sysv/linux/arm/be/libresolv.abilist  |   1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |   2 +
>  .../unix/sysv/linux/arm/le/libresolv.abilist  |   1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist     |   2 +
>  .../unix/sysv/linux/csky/libresolv.abilist    |   1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |   2 +
>  .../unix/sysv/linux/hppa/libresolv.abilist    |   1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist     |   2 +
>  .../unix/sysv/linux/i386/libresolv.abilist    |   1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |   2 +
>  .../unix/sysv/linux/ia64/libresolv.abilist    |   1 -
>  .../sysv/linux/m68k/coldfire/libc.abilist     |   2 +
>  .../linux/m68k/coldfire/libresolv.abilist     |   1 -
>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |   2 +
>  .../sysv/linux/m68k/m680x0/libresolv.abilist  |   1 -
>  .../sysv/linux/microblaze/be/libc.abilist     |   2 +
>  .../linux/microblaze/be/libresolv.abilist     |   1 -
>  .../sysv/linux/microblaze/le/libc.abilist     |   2 +
>  .../linux/microblaze/le/libresolv.abilist     |   1 -
>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |   2 +
>  .../sysv/linux/mips/mips32/libresolv.abilist  |   1 -
>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |   2 +
>  .../sysv/linux/mips/mips64/n32/libc.abilist   |   2 +
>  .../linux/mips/mips64/n32/libresolv.abilist   |   1 -
>  .../sysv/linux/mips/mips64/n64/libc.abilist   |   2 +
>  .../linux/mips/mips64/n64/libresolv.abilist   |   1 -
>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |   2 +
>  .../unix/sysv/linux/nios2/libresolv.abilist   |   1 -
>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |   2 +
>  .../linux/powerpc/powerpc32/libresolv.abilist |   1 -
>  .../powerpc/powerpc32/nofpu/libc.abilist      |   2 +
>  .../linux/powerpc/powerpc64/be/libc.abilist   |   2 +
>  .../powerpc/powerpc64/be/libresolv.abilist    |   1 -
>  .../linux/powerpc/powerpc64/le/libc.abilist   |   2 +
>  .../powerpc/powerpc64/le/libresolv.abilist    |   1 -
>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |   2 +
>  .../sysv/linux/riscv/rv32/libresolv.abilist   |   1 -
>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |   2 +
>  .../sysv/linux/riscv/rv64/libresolv.abilist   |   1 -
>  .../unix/sysv/linux/s390/s390-32/libc.abilist |   2 +
>  .../sysv/linux/s390/s390-32/libresolv.abilist |   1 -
>  .../unix/sysv/linux/s390/s390-64/libc.abilist |   2 +
>  .../sysv/linux/s390/s390-64/libresolv.abilist |   1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |   2 +
>  .../unix/sysv/linux/sh/be/libresolv.abilist   |   1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |   2 +
>  .../unix/sysv/linux/sh/le/libresolv.abilist   |   1 -
>  .../sysv/linux/sparc/sparc32/libc.abilist     |   2 +
>  .../linux/sparc/sparc32/libresolv.abilist     |   1 -
>  .../sysv/linux/sparc/sparc64/libc.abilist     |   2 +
>  .../linux/sparc/sparc64/libresolv.abilist     |   1 -
>  .../unix/sysv/linux/x86_64/64/libc.abilist    |   2 +
>  .../sysv/linux/x86_64/64/libresolv.abilist    |   1 -
>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |   2 +
>  .../sysv/linux/x86_64/x32/libresolv.abilist   |   1 -
>  69 files changed, 221 insertions(+), 161 deletions(-)
>  create mode 100644 resolv/ns_name_ntop.c
> 
> diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
> index 7a8290e1f2..f1a696514a 100644
> --- a/include/arpa/nameser.h
> +++ b/include/arpa/nameser.h
> @@ -65,7 +65,6 @@ libresolv_hidden_proto (ns_put32)
>  libresolv_hidden_proto (ns_initparse)
>  libresolv_hidden_proto (ns_skiprr)
>  libresolv_hidden_proto (ns_parserr)
> -libresolv_hidden_proto (ns_name_ntop)
>  libresolv_hidden_proto (ns_name_pton)
>  libresolv_hidden_proto (ns_name_pack)
>  libresolv_hidden_proto (ns_name_skip)
> @@ -79,5 +78,8 @@ libresolv_hidden_proto (ns_samename)
>  libresolv_hidden_proto (ns_makecanon)
>  libresolv_hidden_proto (ns_format_ttl)
>  
> +extern __typeof (ns_name_ntop) __ns_name_ntop;
> +libc_hidden_proto (__ns_name_ntop)

OK.

> +
>  # endif /* !_ISOMAC */
>  #endif
> diff --git a/resolv/Makefile b/resolv/Makefile
> index f14b149b31..bb16175654 100644
> --- a/resolv/Makefile
> +++ b/resolv/Makefile
> @@ -32,6 +32,7 @@ routines := \
>    inet_addr \
>    inet_ntop \
>    inet_pton \
> +  ns_name_ntop \

OK.

>    nsap_addr \
>    res-close \
>    res-state \
> diff --git a/resolv/Versions b/resolv/Versions
> index 3b5328301a..4bf1a13d48 100644
> --- a/resolv/Versions
> +++ b/resolv/Versions
> @@ -24,6 +24,9 @@ libc {
>      getaddrinfo_a;
>  %endif
>    }
> +  GLIBC_2.9 {
> +    ns_name_ntop;
> +  }
>    GLIBC_2.34 {
>  %if PTHREAD_IN_LIBC
>      gai_cancel;
> @@ -31,6 +34,7 @@ libc {
>      gai_suspend;
>      getaddrinfo_a;
>  %endif
> +    ns_name_ntop;
>    }
>    GLIBC_PRIVATE {
>  %if !PTHREAD_IN_LIBC
> @@ -40,6 +44,7 @@ libc {
>      __inet_aton_exact;
>      __inet_pton_length;
>      __res_iclose;
> +    __ns_name_ntop;
>      __resolv_context_get;
>      __resolv_context_get_override;
>      __resolv_context_get_preinit;
> @@ -137,7 +142,6 @@ libresolv {
>      ns_msg_getflag;
>      ns_name_compress;
>      ns_name_ntol;
> -    ns_name_ntop;
>      ns_name_pack;
>      ns_name_pton;
>      ns_name_rollback;
> @@ -158,7 +162,6 @@ libresolv {
>    GLIBC_PRIVATE {
>      __ns_get16;
>      __ns_get32;
> -    __ns_name_ntop;
>      __ns_name_unpack;
>      __res_context_hostalias;
>      __res_context_query;
> diff --git a/resolv/ns_name.c b/resolv/ns_name.c
> index 73213fee2d..4990003746 100644
> --- a/resolv/ns_name.c
> +++ b/resolv/ns_name.c
> @@ -35,8 +35,6 @@ static const char	digits[] = "0123456789";
>  
>  /* Forward. */
>  
> -static int		special(int);
> -static int		printable(int);

OK.

>  static int		dn_find(const u_char *, const u_char *,
>  				const u_char * const *,
>  				const u_char * const *);
> @@ -44,93 +42,6 @@ static int		labellen(const u_char *);
>  
>  /* Public. */
>  
> -/*%
> - *	Convert an encoded domain name to printable ascii as per RFC1035.
> -
> - * return:
> - *\li	Number of bytes written to buffer, or -1 (with errno set)
> - *
> - * notes:
> - *\li	The root is returned as "."
> - *\li	All other domains are returned in non absolute form
> - */
> -int
> -ns_name_ntop(const u_char *src, char *dst, size_t dstsiz)
> -{
> -	const u_char *cp;
> -	char *dn, *eom;
> -	u_char c;
> -	u_int n;
> -	int l;
> -
> -	cp = src;
> -	dn = dst;
> -	eom = dst + dstsiz;
> -
> -	while ((n = *cp++) != 0) {
> -		if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
> -			/* Some kind of compression pointer. */
> -			__set_errno (EMSGSIZE);
> -			return (-1);
> -		}
> -		if (dn != dst) {
> -			if (dn >= eom) {
> -				__set_errno (EMSGSIZE);
> -				return (-1);
> -			}
> -			*dn++ = '.';
> -		}
> -		if ((l = labellen(cp - 1)) < 0) {
> -			__set_errno (EMSGSIZE);
> -			return(-1);
> -		}
> -		if (dn + l >= eom) {
> -			__set_errno (EMSGSIZE);
> -			return (-1);
> -		}
> -		for ((void)NULL; l > 0; l--) {
> -			c = *cp++;
> -			if (special(c)) {
> -				if (dn + 1 >= eom) {
> -					__set_errno (EMSGSIZE);
> -					return (-1);
> -				}
> -				*dn++ = '\\';
> -				*dn++ = (char)c;
> -			} else if (!printable(c)) {
> -				if (dn + 3 >= eom) {
> -					__set_errno (EMSGSIZE);
> -					return (-1);
> -				}
> -				*dn++ = '\\';
> -				*dn++ = digits[c / 100];
> -				*dn++ = digits[(c % 100) / 10];
> -				*dn++ = digits[c % 10];
> -			} else {
> -				if (dn >= eom) {
> -					__set_errno (EMSGSIZE);
> -					return (-1);
> -				}
> -				*dn++ = (char)c;
> -			}
> -		}
> -	}
> -	if (dn == dst) {
> -		if (dn >= eom) {
> -			__set_errno (EMSGSIZE);
> -			return (-1);
> -		}
> -		*dn++ = '.';
> -	}
> -	if (dn >= eom) {
> -		__set_errno (EMSGSIZE);
> -		return (-1);
> -	}
> -	*dn++ = '\0';
> -	return (dn - dst);
> -}
> -libresolv_hidden_def (ns_name_ntop)
> -strong_alias (ns_name_ntop, __ns_name_ntop)
>  
>  /*%
>   *	Convert an ascii string into an encoded domain name as per RFC1035.
> @@ -517,7 +428,7 @@ ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src,
>  
>  	if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1)
>  		return (-1);
> -	if (ns_name_ntop(tmp, dst, dstsiz) == -1)
> +	if (__ns_name_ntop (tmp, dst, dstsiz) == -1)

OK.

>  		return (-1);
>  	return (n);
>  }
> @@ -606,43 +517,6 @@ libresolv_hidden_def (ns_name_skip)
>  
>  /* Private. */
>  
> -/*%
> - *	Thinking in noninternationalized USASCII (per the DNS spec),
> - *	is this character special ("in need of quoting") ?
> - *
> - * return:
> - *\li	boolean.
> - */
> -static int
> -special(int ch) {
> -	switch (ch) {
> -	case 0x22: /*%< '"' */
> -	case 0x2E: /*%< '.' */
> -	case 0x3B: /*%< ';' */
> -	case 0x5C: /*%< '\\' */
> -	case 0x28: /*%< '(' */
> -	case 0x29: /*%< ')' */
> -	/* Special modifiers in zone files. */
> -	case 0x40: /*%< '@' */
> -	case 0x24: /*%< '$' */
> -		return (1);
> -	default:
> -		return (0);
> -	}
> -}
> -
> -/*%
> - *	Thinking in noninternationalized USASCII (per the DNS spec),
> - *	is this character visible and not a space when printed ?
> - *
> - * return:
> - *\li	boolean.
> - */
> -static int
> -printable(int ch) {
> -	return (ch > 0x20 && ch < 0x7f);
> -}
> -

OK.

>  /*%
>   *	Thinking in noninternationalized USASCII (per the DNS spec),
>   *	convert this character to lower case if it's upper case.
> diff --git a/resolv/ns_name_ntop.c b/resolv/ns_name_ntop.c
> new file mode 100644
> index 0000000000..4dab3a3ce0
> --- /dev/null
> +++ b/resolv/ns_name_ntop.c
> @@ -0,0 +1,145 @@
> +/* Convert DNS domain names from network format to textual presentation format.

OK.

> + * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
> + * Copyright (c) 1996,1999 by Internet Software Consortium.
> + *
> + * Permission to use, copy, modify, and distribute this software for any
> + * purpose with or without fee is hereby granted, provided that the above
> + * copyright notice and this permission notice appear in all copies.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
> + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
> + * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
> + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
> + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
> + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
> + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + */
> +
> +#include <arpa/nameser.h>
> +#include <errno.h>
> +#include <shlib-compat.h>
> +#include <stdbool.h>
> +
> +/* Thinking in noninternationalized US-ASCII (per the DNS spec), is
> +   this character special ("in need of quoting")?  */
> +static inline bool
> +special (int ch)
> +{
> +  switch (ch)
> +    {
> +    case '"':
> +    case '.':
> +    case ';':
> +    case '\\':
> +    case '(':
> +    case ')':

OK. Matches.

> +      /* Special modifiers in zone files.  */
> +    case '@':
> +    case '$':

OK. Matches.

> +      return true;
> +    default:
> +      return false;

OK.

> +    }
> +}

OK.

> +
> +/* Thinking in noninternationalized US-ASCII (per the DNS spec), is
> +   this character visible and not a space when printed?  */
> +static inline bool
> +printable (int ch)
> +{
> +  return ch > 0x20 && ch < 0x7f;
> +}

OK.

> +
> +/* Converts an uncompressed, encoded domain name to printable ASCII as
> +   per RFC1035.  Returns the number of bytes written to buffer, or -1
> +   (with errno set).  The root is returned as "."  All other domains
> +   are returned in non absolute form.  */
> +int
> +___ns_name_ntop (const unsigned char *src, char *dst, size_t dstsiz)
> +{
> +  const unsigned char *cp;
> +  char *dn, *eom;
> +  unsigned char c;
> +  int l;
> +
> +  cp = src;
> +  dn = dst;
> +  eom = dst + dstsiz;
> +
> +  while ((l = *cp++) != 0)
> +    {
> +      if (l >= 64)
> +        {
> +          /* Some kind of compression pointer.  */
> +          __set_errno (EMSGSIZE);
> +          return -1;
> +        }

OK. Updated.

> +      if (dn != dst)
> +        {
> +          if (dn >= eom)
> +            {
> +              __set_errno (EMSGSIZE);
> +              return -1;
> +            }
> +          *dn++ = '.';
> +        }

OK. Match.

> +      for (; l > 0; l--)
> +        {
> +          c = *cp++;
> +          if (special (c))
> +            {
> +              if (eom - dn < 2)
> +                {
> +                  __set_errno (EMSGSIZE);
> +                  return -1;
> +                }
> +              *dn++ = '\\';
> +              *dn++ = c;
> +            }
> +          else if (!printable (c))
> +            {
> +              if (eom - dn < 4)
> +                {
> +                  __set_errno (EMSGSIZE);
> +                  return -1;
> +                }
> +              *dn++ = '\\';
> +              *dn++ = '0' + (c / 100);
> +              *dn++ = '0' + ((c % 100) / 10);
> +              *dn++ = '0' + (c % 10);
> +            }
> +          else
> +            {
> +              if (eom - dn < 2)

OK. Changed.

> +                {
> +                  __set_errno (EMSGSIZE);
> +                  return -1;
> +                }
> +              *dn++ = c;
> +            }
> +        }
> +    }
> +  if (dn == dst)
> +    {
> +      if (dn >= eom)
> +        {
> +          __set_errno (EMSGSIZE);
> +          return -1;
> +        }
> +      *dn++ = '.';
> +    }

OK. Match.

> +  if (dn >= eom)
> +    {
> +      __set_errno (EMSGSIZE);
> +      return -1;
> +    }

OK. Match.

> +  *dn++ = '\0';
> +  return dn - dst;
> +}

OK.

> +versioned_symbol (libc, ___ns_name_ntop, ns_name_ntop, GLIBC_2_34);
> +versioned_symbol (libc, ___ns_name_ntop, __ns_name_ntop, GLIBC_PRIVATE);
> +libc_hidden_ver (___ns_name_ntop, __ns_name_ntop)
> +
> +#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34)
> +compat_symbol (libresolv, ___ns_name_ntop, ns_name_ntop, GLIBC_2_9);

OK.

> +#endif
> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
> index fcfe64f26b..a2cb340469 100644
> --- a/sysdeps/mach/hurd/i386/libc.abilist
> +++ b/sysdeps/mach/hurd/i386/libc.abilist
> @@ -2240,6 +2240,7 @@ GLIBC_2.34 login F
>  GLIBC_2.34 login_tty F
>  GLIBC_2.34 logout F
>  GLIBC_2.34 logwtmp F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 shm_open F
>  GLIBC_2.34 shm_unlink F
> @@ -2360,6 +2361,7 @@ GLIBC_2.8 __vasprintf_chk F
>  GLIBC_2.8 __vdprintf_chk F
>  GLIBC_2.8 qsort_r F
>  GLIBC_2.9 dup3 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
>  HURD_CTHREADS_0.3 __cthread_getspecific F
>  HURD_CTHREADS_0.3 __cthread_keycreate F
> diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist
> index e662651c8e..63a07a6073 100644
> --- a/sysdeps/mach/hurd/i386/libresolv.abilist
> +++ b/sysdeps/mach/hurd/i386/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index 6f19b07b47..e263dca707 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -1404,6 +1404,7 @@ GLIBC_2.17 nl_langinfo F
>  GLIBC_2.17 nl_langinfo_l F
>  GLIBC_2.17 nrand48 F
>  GLIBC_2.17 nrand48_r F
> +GLIBC_2.17 ns_name_ntop F
>  GLIBC_2.17 ntohl F
>  GLIBC_2.17 ntohs F
>  GLIBC_2.17 ntp_adjtime F
> @@ -2450,6 +2451,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> index f7fdd26bd1..0a93c2cc44 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F
>  GLIBC_2.17 ns_msg_getflag F
>  GLIBC_2.17 ns_name_compress F
>  GLIBC_2.17 ns_name_ntol F
> -GLIBC_2.17 ns_name_ntop F
>  GLIBC_2.17 ns_name_pack F
>  GLIBC_2.17 ns_name_pton F
>  GLIBC_2.17 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 6ece449d4b..6bdfc2dc34 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2549,6 +2549,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2982,4 +2983,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> index 06f995151c..2eee410d23 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index 3bf846349f..d129dd12ff 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -1338,6 +1338,7 @@ GLIBC_2.32 nl_langinfo F
>  GLIBC_2.32 nl_langinfo_l F
>  GLIBC_2.32 nrand48 F
>  GLIBC_2.32 nrand48_r F
> +GLIBC_2.32 ns_name_ntop F
>  GLIBC_2.32 ntohl F
>  GLIBC_2.32 ntohs F
>  GLIBC_2.32 ntp_adjtime F
> @@ -2209,6 +2210,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> index c5edf99ea9..232146e7db 100644
> --- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
> @@ -60,7 +60,6 @@ GLIBC_2.32 ns_makecanon F
>  GLIBC_2.32 ns_msg_getflag F
>  GLIBC_2.32 ns_name_compress F
>  GLIBC_2.32 ns_name_ntol F
> -GLIBC_2.32 ns_name_ntop F
>  GLIBC_2.32 ns_name_pack F
>  GLIBC_2.32 ns_name_pton F
>  GLIBC_2.32 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index 08be998d35..c0c24b0772 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -343,6 +343,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2678,4 +2679,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> index 2dd5094f76..1f2d60151f 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index ebd767ed96..dc666f1cc1 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -340,6 +340,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2675,4 +2676,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> index 2dd5094f76..1f2d60151f 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 4a467e706e..403a84d1c6 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -1395,6 +1395,7 @@ GLIBC_2.29 nl_langinfo F
>  GLIBC_2.29 nl_langinfo_l F
>  GLIBC_2.29 nrand48 F
>  GLIBC_2.29 nrand48_r F
> +GLIBC_2.29 ns_name_ntop F
>  GLIBC_2.29 ntohl F
>  GLIBC_2.29 ntohs F
>  GLIBC_2.29 ntp_adjtime F
> @@ -2475,6 +2476,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> index 2830a7efd1..eca5d43340 100644
> --- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
> @@ -60,7 +60,6 @@ GLIBC_2.29 ns_makecanon F
>  GLIBC_2.29 ns_msg_getflag F
>  GLIBC_2.29 ns_name_compress F
>  GLIBC_2.29 ns_name_ntol F
> -GLIBC_2.29 ns_name_ntop F
>  GLIBC_2.29 ns_name_pack F
>  GLIBC_2.29 ns_name_pton F
>  GLIBC_2.29 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index bdef8d2a34..640fe27645 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2428,6 +2428,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2692,4 +2693,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index eba95a2cf0..0064e5c88a 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2612,6 +2612,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2876,4 +2877,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index 3fbc5ae978..f42d8294de 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2387,6 +2387,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2651,4 +2652,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> index 06f995151c..2eee410d23 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 0aef2ec43a..53f45dc6a4 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -344,6 +344,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2657,4 +2658,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> index 2dd5094f76..1f2d60151f 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index a4704f7e96..8992fdb150 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2555,6 +2555,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2819,4 +2820,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index 8f135f30c0..85651e5bfe 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -1406,6 +1406,7 @@ GLIBC_2.18 nl_langinfo F
>  GLIBC_2.18 nl_langinfo_l F
>  GLIBC_2.18 nrand48 F
>  GLIBC_2.18 nrand48_r F
> +GLIBC_2.18 ns_name_ntop F
>  GLIBC_2.18 ntohl F
>  GLIBC_2.18 ntohs F
>  GLIBC_2.18 ntp_adjtime F
> @@ -2526,6 +2527,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> index b04f0397c8..815672536e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F
>  GLIBC_2.18 ns_msg_getflag F
>  GLIBC_2.18 ns_name_compress F
>  GLIBC_2.18 ns_name_ntol F
> -GLIBC_2.18 ns_name_ntop F
>  GLIBC_2.18 ns_name_pack F
>  GLIBC_2.18 ns_name_pton F
>  GLIBC_2.18 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 719609ac10..be1f207863 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -1406,6 +1406,7 @@ GLIBC_2.18 nl_langinfo F
>  GLIBC_2.18 nl_langinfo_l F
>  GLIBC_2.18 nrand48 F
>  GLIBC_2.18 nrand48_r F
> +GLIBC_2.18 ns_name_ntop F
>  GLIBC_2.18 ntohl F
>  GLIBC_2.18 ntohs F
>  GLIBC_2.18 ntp_adjtime F
> @@ -2523,6 +2524,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> index b04f0397c8..815672536e 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.18 ns_makecanon F
>  GLIBC_2.18 ns_msg_getflag F
>  GLIBC_2.18 ns_name_compress F
>  GLIBC_2.18 ns_name_ntol F
> -GLIBC_2.18 ns_name_ntop F
>  GLIBC_2.18 ns_name_pack F
>  GLIBC_2.18 ns_name_pton F
>  GLIBC_2.18 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index f9a6bccdc5..7bf0307887 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2520,6 +2520,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2780,4 +2781,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index cee02495c6..909b533575 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2518,6 +2518,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2778,4 +2779,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index c9fdfe3a55..ddeedf1dd9 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2526,6 +2526,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2786,4 +2787,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index d27c97094e..93036f5b60 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2438,6 +2438,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2698,4 +2699,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> index 06f995151c..2eee410d23 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 25f270403f..da0f44c5e1 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -1449,6 +1449,7 @@ GLIBC_2.21 nl_langinfo F
>  GLIBC_2.21 nl_langinfo_l F
>  GLIBC_2.21 nrand48 F
>  GLIBC_2.21 nrand48_r F
> +GLIBC_2.21 ns_name_ntop F
>  GLIBC_2.21 ntohl F
>  GLIBC_2.21 ntohs F
>  GLIBC_2.21 ntp_adjtime F
> @@ -2565,6 +2566,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> index 2a2bec433f..b1b08bb486 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.21 ns_makecanon F
>  GLIBC_2.21 ns_msg_getflag F
>  GLIBC_2.21 ns_name_compress F
>  GLIBC_2.21 ns_name_ntol F
> -GLIBC_2.21 ns_name_ntop F
>  GLIBC_2.21 ns_name_pack F
>  GLIBC_2.21 ns_name_pton F
>  GLIBC_2.21 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 0256a272dd..0e7944d5b7 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2582,6 +2582,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -3017,4 +3018,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 946f855c64..ea590ca43c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2615,6 +2615,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -3062,4 +3063,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 602da17327..fde9d2e40d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2351,6 +2351,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2786,4 +2787,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> index 15f30deb34..c998d17d81 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 287285a21a..70eaf6b69b 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -1492,6 +1492,7 @@ GLIBC_2.17 nl_langinfo F
>  GLIBC_2.17 nl_langinfo_l F
>  GLIBC_2.17 nrand48 F
>  GLIBC_2.17 nrand48_r F
> +GLIBC_2.17 ns_name_ntop F
>  GLIBC_2.17 ntohl F
>  GLIBC_2.17 ntohs F
>  GLIBC_2.17 ntp_adjtime F
> @@ -2646,6 +2647,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> index f7fdd26bd1..0a93c2cc44 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.17 ns_makecanon F
>  GLIBC_2.17 ns_msg_getflag F
>  GLIBC_2.17 ns_name_compress F
>  GLIBC_2.17 ns_name_ntol F
> -GLIBC_2.17 ns_name_ntop F
>  GLIBC_2.17 ns_name_pack F
>  GLIBC_2.17 ns_name_pton F
>  GLIBC_2.17 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index cdeee28d0f..f3a14d6efc 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -1340,6 +1340,7 @@ GLIBC_2.33 nl_langinfo F
>  GLIBC_2.33 nl_langinfo_l F
>  GLIBC_2.33 nrand48 F
>  GLIBC_2.33 nrand48_r F
> +GLIBC_2.33 ns_name_ntop F
>  GLIBC_2.33 ntohl F
>  GLIBC_2.33 ntohs F
>  GLIBC_2.33 ntp_adjtime F
> @@ -2211,6 +2212,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> index 43947f7e27..a3af26db78 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
> @@ -60,7 +60,6 @@ GLIBC_2.33 ns_makecanon F
>  GLIBC_2.33 ns_msg_getflag F
>  GLIBC_2.33 ns_name_compress F
>  GLIBC_2.33 ns_name_ntol F
> -GLIBC_2.33 ns_name_ntop F
>  GLIBC_2.33 ns_name_pack F
>  GLIBC_2.33 ns_name_pton F
>  GLIBC_2.33 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index a74b54d6bb..94ededbfb6 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -1387,6 +1387,7 @@ GLIBC_2.27 nl_langinfo F
>  GLIBC_2.27 nl_langinfo_l F
>  GLIBC_2.27 nrand48 F
>  GLIBC_2.27 nrand48_r F
> +GLIBC_2.27 ns_name_ntop F
>  GLIBC_2.27 ntohl F
>  GLIBC_2.27 ntohs F
>  GLIBC_2.27 ntp_adjtime F
> @@ -2411,6 +2412,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> index eb9c1cb747..0d4bd6855b 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
> @@ -60,7 +60,6 @@ GLIBC_2.27 ns_makecanon F
>  GLIBC_2.27 ns_msg_getflag F
>  GLIBC_2.27 ns_name_compress F
>  GLIBC_2.27 ns_name_ntol F
> -GLIBC_2.27 ns_name_ntop F
>  GLIBC_2.27 ns_name_pack F
>  GLIBC_2.27 ns_name_pton F
>  GLIBC_2.27 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index e96371317c..6a1a79c0cb 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2580,6 +2580,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -3025,6 +3026,7 @@ GLIBC_2.9 getutxid F
>  GLIBC_2.9 getutxline F
>  GLIBC_2.9 inotify_init1 F
>  GLIBC_2.9 login F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
>  GLIBC_2.9 pututline F
>  GLIBC_2.9 pututxline F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index aadc7c1d66..0ccda5fb5e 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2388,6 +2388,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2821,4 +2822,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> index dcc4de5f55..548e92b846 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index cc4a625cb4..0b2709d984 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2435,6 +2435,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2699,4 +2700,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 163d2cd613..3077a96068 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2432,6 +2432,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2696,4 +2697,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 6eceee6b88..1df94b2c6b 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2575,6 +2575,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -3034,4 +3035,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> index 157a33ce35..14c65c7a46 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index e6bac469ba..8596cfbde9 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2410,6 +2410,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2674,4 +2675,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> index 06f995151c..2eee410d23 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
> @@ -77,7 +77,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index e90f3e54c0..7422e4dcd6 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2366,6 +2366,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> @@ -2630,4 +2631,5 @@ GLIBC_2.8 timerfd_settime F
>  GLIBC_2.9 dup3 F
>  GLIBC_2.9 epoll_create1 F
>  GLIBC_2.9 inotify_init1 F
> +GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 pipe2 F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> index 61d6b2b853..954af66409 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
> @@ -72,7 +72,6 @@ GLIBC_2.9 ns_makecanon F
>  GLIBC_2.9 ns_msg_getflag F
>  GLIBC_2.9 ns_name_compress F
>  GLIBC_2.9 ns_name_ntol F
> -GLIBC_2.9 ns_name_ntop F
>  GLIBC_2.9 ns_name_pack F
>  GLIBC_2.9 ns_name_pton F
>  GLIBC_2.9 ns_name_rollback F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 792f681bba..dba3592fb9 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -1411,6 +1411,7 @@ GLIBC_2.16 nl_langinfo F
>  GLIBC_2.16 nl_langinfo_l F
>  GLIBC_2.16 nrand48 F
>  GLIBC_2.16 nrand48_r F
> +GLIBC_2.16 ns_name_ntop F
>  GLIBC_2.16 ntohl F
>  GLIBC_2.16 ntohs F
>  GLIBC_2.16 ntp_adjtime F
> @@ -2465,6 +2466,7 @@ GLIBC_2.34 mtx_lock F
>  GLIBC_2.34 mtx_timedlock F
>  GLIBC_2.34 mtx_trylock F
>  GLIBC_2.34 mtx_unlock F
> +GLIBC_2.34 ns_name_ntop F
>  GLIBC_2.34 openpty F
>  GLIBC_2.34 pthread_attr_getaffinity_np F
>  GLIBC_2.34 pthread_attr_getguardsize F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> index 2457bc9d49..79b4bbdd98 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
> @@ -67,7 +67,6 @@ GLIBC_2.16 ns_makecanon F
>  GLIBC_2.16 ns_msg_getflag F
>  GLIBC_2.16 ns_name_compress F
>  GLIBC_2.16 ns_name_ntol F
> -GLIBC_2.16 ns_name_ntop F
>  GLIBC_2.16 ns_name_pack F
>  GLIBC_2.16 ns_name_pton F
>  GLIBC_2.16 ns_name_rollback F
> 

OK.
  

Patch

diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
index 7a8290e1f2..f1a696514a 100644
--- a/include/arpa/nameser.h
+++ b/include/arpa/nameser.h
@@ -65,7 +65,6 @@  libresolv_hidden_proto (ns_put32)
 libresolv_hidden_proto (ns_initparse)
 libresolv_hidden_proto (ns_skiprr)
 libresolv_hidden_proto (ns_parserr)
-libresolv_hidden_proto (ns_name_ntop)
 libresolv_hidden_proto (ns_name_pton)
 libresolv_hidden_proto (ns_name_pack)
 libresolv_hidden_proto (ns_name_skip)
@@ -79,5 +78,8 @@  libresolv_hidden_proto (ns_samename)
 libresolv_hidden_proto (ns_makecanon)
 libresolv_hidden_proto (ns_format_ttl)
 
+extern __typeof (ns_name_ntop) __ns_name_ntop;
+libc_hidden_proto (__ns_name_ntop)
+
 # endif /* !_ISOMAC */
 #endif
diff --git a/resolv/Makefile b/resolv/Makefile
index f14b149b31..bb16175654 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -32,6 +32,7 @@  routines := \
   inet_addr \
   inet_ntop \
   inet_pton \
+  ns_name_ntop \
   nsap_addr \
   res-close \
   res-state \
diff --git a/resolv/Versions b/resolv/Versions
index 3b5328301a..4bf1a13d48 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -24,6 +24,9 @@  libc {
     getaddrinfo_a;
 %endif
   }
+  GLIBC_2.9 {
+    ns_name_ntop;
+  }
   GLIBC_2.34 {
 %if PTHREAD_IN_LIBC
     gai_cancel;
@@ -31,6 +34,7 @@  libc {
     gai_suspend;
     getaddrinfo_a;
 %endif
+    ns_name_ntop;
   }
   GLIBC_PRIVATE {
 %if !PTHREAD_IN_LIBC
@@ -40,6 +44,7 @@  libc {
     __inet_aton_exact;
     __inet_pton_length;
     __res_iclose;
+    __ns_name_ntop;
     __resolv_context_get;
     __resolv_context_get_override;
     __resolv_context_get_preinit;
@@ -137,7 +142,6 @@  libresolv {
     ns_msg_getflag;
     ns_name_compress;
     ns_name_ntol;
-    ns_name_ntop;
     ns_name_pack;
     ns_name_pton;
     ns_name_rollback;
@@ -158,7 +162,6 @@  libresolv {
   GLIBC_PRIVATE {
     __ns_get16;
     __ns_get32;
-    __ns_name_ntop;
     __ns_name_unpack;
     __res_context_hostalias;
     __res_context_query;
diff --git a/resolv/ns_name.c b/resolv/ns_name.c
index 73213fee2d..4990003746 100644
--- a/resolv/ns_name.c
+++ b/resolv/ns_name.c
@@ -35,8 +35,6 @@  static const char	digits[] = "0123456789";
 
 /* Forward. */
 
-static int		special(int);
-static int		printable(int);
 static int		dn_find(const u_char *, const u_char *,
 				const u_char * const *,
 				const u_char * const *);
@@ -44,93 +42,6 @@  static int		labellen(const u_char *);
 
 /* Public. */
 
-/*%
- *	Convert an encoded domain name to printable ascii as per RFC1035.
-
- * return:
- *\li	Number of bytes written to buffer, or -1 (with errno set)
- *
- * notes:
- *\li	The root is returned as "."
- *\li	All other domains are returned in non absolute form
- */
-int
-ns_name_ntop(const u_char *src, char *dst, size_t dstsiz)
-{
-	const u_char *cp;
-	char *dn, *eom;
-	u_char c;
-	u_int n;
-	int l;
-
-	cp = src;
-	dn = dst;
-	eom = dst + dstsiz;
-
-	while ((n = *cp++) != 0) {
-		if ((n & NS_CMPRSFLGS) == NS_CMPRSFLGS) {
-			/* Some kind of compression pointer. */
-			__set_errno (EMSGSIZE);
-			return (-1);
-		}
-		if (dn != dst) {
-			if (dn >= eom) {
-				__set_errno (EMSGSIZE);
-				return (-1);
-			}
-			*dn++ = '.';
-		}
-		if ((l = labellen(cp - 1)) < 0) {
-			__set_errno (EMSGSIZE);
-			return(-1);
-		}
-		if (dn + l >= eom) {
-			__set_errno (EMSGSIZE);
-			return (-1);
-		}
-		for ((void)NULL; l > 0; l--) {
-			c = *cp++;
-			if (special(c)) {
-				if (dn + 1 >= eom) {
-					__set_errno (EMSGSIZE);
-					return (-1);
-				}
-				*dn++ = '\\';
-				*dn++ = (char)c;
-			} else if (!printable(c)) {
-				if (dn + 3 >= eom) {
-					__set_errno (EMSGSIZE);
-					return (-1);
-				}
-				*dn++ = '\\';
-				*dn++ = digits[c / 100];
-				*dn++ = digits[(c % 100) / 10];
-				*dn++ = digits[c % 10];
-			} else {
-				if (dn >= eom) {
-					__set_errno (EMSGSIZE);
-					return (-1);
-				}
-				*dn++ = (char)c;
-			}
-		}
-	}
-	if (dn == dst) {
-		if (dn >= eom) {
-			__set_errno (EMSGSIZE);
-			return (-1);
-		}
-		*dn++ = '.';
-	}
-	if (dn >= eom) {
-		__set_errno (EMSGSIZE);
-		return (-1);
-	}
-	*dn++ = '\0';
-	return (dn - dst);
-}
-libresolv_hidden_def (ns_name_ntop)
-strong_alias (ns_name_ntop, __ns_name_ntop)
 
 /*%
  *	Convert an ascii string into an encoded domain name as per RFC1035.
@@ -517,7 +428,7 @@  ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src,
 
 	if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1)
 		return (-1);
-	if (ns_name_ntop(tmp, dst, dstsiz) == -1)
+	if (__ns_name_ntop (tmp, dst, dstsiz) == -1)
 		return (-1);
 	return (n);
 }
@@ -606,43 +517,6 @@  libresolv_hidden_def (ns_name_skip)
 
 /* Private. */
 
-/*%
- *	Thinking in noninternationalized USASCII (per the DNS spec),
- *	is this character special ("in need of quoting") ?
- *
- * return:
- *\li	boolean.
- */
-static int
-special(int ch) {
-	switch (ch) {
-	case 0x22: /*%< '"' */
-	case 0x2E: /*%< '.' */
-	case 0x3B: /*%< ';' */
-	case 0x5C: /*%< '\\' */
-	case 0x28: /*%< '(' */
-	case 0x29: /*%< ')' */
-	/* Special modifiers in zone files. */
-	case 0x40: /*%< '@' */
-	case 0x24: /*%< '$' */
-		return (1);
-	default:
-		return (0);
-	}
-}
-
-/*%
- *	Thinking in noninternationalized USASCII (per the DNS spec),
- *	is this character visible and not a space when printed ?
- *
- * return:
- *\li	boolean.
- */
-static int
-printable(int ch) {
-	return (ch > 0x20 && ch < 0x7f);
-}
-
 /*%
  *	Thinking in noninternationalized USASCII (per the DNS spec),
  *	convert this character to lower case if it's upper case.
diff --git a/resolv/ns_name_ntop.c b/resolv/ns_name_ntop.c
new file mode 100644
index 0000000000..4dab3a3ce0
--- /dev/null
+++ b/resolv/ns_name_ntop.c
@@ -0,0 +1,145 @@ 
+/* Convert DNS domain names from network format to textual presentation format.
+ * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (c) 1996,1999 by Internet Software Consortium.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <arpa/nameser.h>
+#include <errno.h>
+#include <shlib-compat.h>
+#include <stdbool.h>
+
+/* Thinking in noninternationalized US-ASCII (per the DNS spec), is
+   this character special ("in need of quoting")?  */
+static inline bool
+special (int ch)
+{
+  switch (ch)
+    {
+    case '"':
+    case '.':
+    case ';':
+    case '\\':
+    case '(':
+    case ')':
+      /* Special modifiers in zone files.  */
+    case '@':
+    case '$':
+      return true;
+    default:
+      return false;
+    }
+}
+
+/* Thinking in noninternationalized US-ASCII (per the DNS spec), is
+   this character visible and not a space when printed?  */
+static inline bool
+printable (int ch)
+{
+  return ch > 0x20 && ch < 0x7f;
+}
+
+/* Converts an uncompressed, encoded domain name to printable ASCII as
+   per RFC1035.  Returns the number of bytes written to buffer, or -1
+   (with errno set).  The root is returned as "."  All other domains
+   are returned in non absolute form.  */
+int
+___ns_name_ntop (const unsigned char *src, char *dst, size_t dstsiz)
+{
+  const unsigned char *cp;
+  char *dn, *eom;
+  unsigned char c;
+  int l;
+
+  cp = src;
+  dn = dst;
+  eom = dst + dstsiz;
+
+  while ((l = *cp++) != 0)
+    {
+      if (l >= 64)
+        {
+          /* Some kind of compression pointer.  */
+          __set_errno (EMSGSIZE);
+          return -1;
+        }
+      if (dn != dst)
+        {
+          if (dn >= eom)
+            {
+              __set_errno (EMSGSIZE);
+              return -1;
+            }
+          *dn++ = '.';
+        }
+      for (; l > 0; l--)
+        {
+          c = *cp++;
+          if (special (c))
+            {
+              if (eom - dn < 2)
+                {
+                  __set_errno (EMSGSIZE);
+                  return -1;
+                }
+              *dn++ = '\\';
+              *dn++ = c;
+            }
+          else if (!printable (c))
+            {
+              if (eom - dn < 4)
+                {
+                  __set_errno (EMSGSIZE);
+                  return -1;
+                }
+              *dn++ = '\\';
+              *dn++ = '0' + (c / 100);
+              *dn++ = '0' + ((c % 100) / 10);
+              *dn++ = '0' + (c % 10);
+            }
+          else
+            {
+              if (eom - dn < 2)
+                {
+                  __set_errno (EMSGSIZE);
+                  return -1;
+                }
+              *dn++ = c;
+            }
+        }
+    }
+  if (dn == dst)
+    {
+      if (dn >= eom)
+        {
+          __set_errno (EMSGSIZE);
+          return -1;
+        }
+      *dn++ = '.';
+    }
+  if (dn >= eom)
+    {
+      __set_errno (EMSGSIZE);
+      return -1;
+    }
+  *dn++ = '\0';
+  return dn - dst;
+}
+versioned_symbol (libc, ___ns_name_ntop, ns_name_ntop, GLIBC_2_34);
+versioned_symbol (libc, ___ns_name_ntop, __ns_name_ntop, GLIBC_PRIVATE);
+libc_hidden_ver (___ns_name_ntop, __ns_name_ntop)
+
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34)
+compat_symbol (libresolv, ___ns_name_ntop, ns_name_ntop, GLIBC_2_9);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index fcfe64f26b..a2cb340469 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -2240,6 +2240,7 @@  GLIBC_2.34 login F
 GLIBC_2.34 login_tty F
 GLIBC_2.34 logout F
 GLIBC_2.34 logwtmp F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 shm_open F
 GLIBC_2.34 shm_unlink F
@@ -2360,6 +2361,7 @@  GLIBC_2.8 __vasprintf_chk F
 GLIBC_2.8 __vdprintf_chk F
 GLIBC_2.8 qsort_r F
 GLIBC_2.9 dup3 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
 HURD_CTHREADS_0.3 __cthread_getspecific F
 HURD_CTHREADS_0.3 __cthread_keycreate F
diff --git a/sysdeps/mach/hurd/i386/libresolv.abilist b/sysdeps/mach/hurd/i386/libresolv.abilist
index e662651c8e..63a07a6073 100644
--- a/sysdeps/mach/hurd/i386/libresolv.abilist
+++ b/sysdeps/mach/hurd/i386/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 6f19b07b47..e263dca707 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1404,6 +1404,7 @@  GLIBC_2.17 nl_langinfo F
 GLIBC_2.17 nl_langinfo_l F
 GLIBC_2.17 nrand48 F
 GLIBC_2.17 nrand48_r F
+GLIBC_2.17 ns_name_ntop F
 GLIBC_2.17 ntohl F
 GLIBC_2.17 ntohs F
 GLIBC_2.17 ntp_adjtime F
@@ -2450,6 +2451,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
index f7fdd26bd1..0a93c2cc44 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.17 ns_makecanon F
 GLIBC_2.17 ns_msg_getflag F
 GLIBC_2.17 ns_name_compress F
 GLIBC_2.17 ns_name_ntol F
-GLIBC_2.17 ns_name_ntop F
 GLIBC_2.17 ns_name_pack F
 GLIBC_2.17 ns_name_pton F
 GLIBC_2.17 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 6ece449d4b..6bdfc2dc34 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2549,6 +2549,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2982,4 +2983,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
index 06f995151c..2eee410d23 100644
--- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 3bf846349f..d129dd12ff 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1338,6 +1338,7 @@  GLIBC_2.32 nl_langinfo F
 GLIBC_2.32 nl_langinfo_l F
 GLIBC_2.32 nrand48 F
 GLIBC_2.32 nrand48_r F
+GLIBC_2.32 ns_name_ntop F
 GLIBC_2.32 ntohl F
 GLIBC_2.32 ntohs F
 GLIBC_2.32 ntp_adjtime F
@@ -2209,6 +2210,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/arc/libresolv.abilist b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
index c5edf99ea9..232146e7db 100644
--- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
@@ -60,7 +60,6 @@  GLIBC_2.32 ns_makecanon F
 GLIBC_2.32 ns_msg_getflag F
 GLIBC_2.32 ns_name_compress F
 GLIBC_2.32 ns_name_ntol F
-GLIBC_2.32 ns_name_ntop F
 GLIBC_2.32 ns_name_pack F
 GLIBC_2.32 ns_name_pton F
 GLIBC_2.32 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 08be998d35..c0c24b0772 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -343,6 +343,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2678,4 +2679,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
index 2dd5094f76..1f2d60151f 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index ebd767ed96..dc666f1cc1 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -340,6 +340,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2675,4 +2676,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
index 2dd5094f76..1f2d60151f 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 4a467e706e..403a84d1c6 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1395,6 +1395,7 @@  GLIBC_2.29 nl_langinfo F
 GLIBC_2.29 nl_langinfo_l F
 GLIBC_2.29 nrand48 F
 GLIBC_2.29 nrand48_r F
+GLIBC_2.29 ns_name_ntop F
 GLIBC_2.29 ntohl F
 GLIBC_2.29 ntohs F
 GLIBC_2.29 ntp_adjtime F
@@ -2475,6 +2476,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/csky/libresolv.abilist b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
index 2830a7efd1..eca5d43340 100644
--- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
@@ -60,7 +60,6 @@  GLIBC_2.29 ns_makecanon F
 GLIBC_2.29 ns_msg_getflag F
 GLIBC_2.29 ns_name_compress F
 GLIBC_2.29 ns_name_ntol F
-GLIBC_2.29 ns_name_ntop F
 GLIBC_2.29 ns_name_pack F
 GLIBC_2.29 ns_name_pton F
 GLIBC_2.29 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index bdef8d2a34..640fe27645 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2428,6 +2428,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2692,4 +2693,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index eba95a2cf0..0064e5c88a 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2612,6 +2612,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2876,4 +2877,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 3fbc5ae978..f42d8294de 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2387,6 +2387,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2651,4 +2652,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
index 06f995151c..2eee410d23 100644
--- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 0aef2ec43a..53f45dc6a4 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -344,6 +344,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2657,4 +2658,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
index 2dd5094f76..1f2d60151f 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index a4704f7e96..8992fdb150 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2555,6 +2555,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2819,4 +2820,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 8f135f30c0..85651e5bfe 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1406,6 +1406,7 @@  GLIBC_2.18 nl_langinfo F
 GLIBC_2.18 nl_langinfo_l F
 GLIBC_2.18 nrand48 F
 GLIBC_2.18 nrand48_r F
+GLIBC_2.18 ns_name_ntop F
 GLIBC_2.18 ntohl F
 GLIBC_2.18 ntohs F
 GLIBC_2.18 ntp_adjtime F
@@ -2526,6 +2527,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
index b04f0397c8..815672536e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.18 ns_makecanon F
 GLIBC_2.18 ns_msg_getflag F
 GLIBC_2.18 ns_name_compress F
 GLIBC_2.18 ns_name_ntol F
-GLIBC_2.18 ns_name_ntop F
 GLIBC_2.18 ns_name_pack F
 GLIBC_2.18 ns_name_pton F
 GLIBC_2.18 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 719609ac10..be1f207863 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1406,6 +1406,7 @@  GLIBC_2.18 nl_langinfo F
 GLIBC_2.18 nl_langinfo_l F
 GLIBC_2.18 nrand48 F
 GLIBC_2.18 nrand48_r F
+GLIBC_2.18 ns_name_ntop F
 GLIBC_2.18 ntohl F
 GLIBC_2.18 ntohs F
 GLIBC_2.18 ntp_adjtime F
@@ -2523,6 +2524,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
index b04f0397c8..815672536e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.18 ns_makecanon F
 GLIBC_2.18 ns_msg_getflag F
 GLIBC_2.18 ns_name_compress F
 GLIBC_2.18 ns_name_ntol F
-GLIBC_2.18 ns_name_ntop F
 GLIBC_2.18 ns_name_pack F
 GLIBC_2.18 ns_name_pton F
 GLIBC_2.18 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index f9a6bccdc5..7bf0307887 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2520,6 +2520,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2780,4 +2781,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index cee02495c6..909b533575 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2518,6 +2518,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2778,4 +2779,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index c9fdfe3a55..ddeedf1dd9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2526,6 +2526,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2786,4 +2787,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index d27c97094e..93036f5b60 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2438,6 +2438,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2698,4 +2699,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
index 06f995151c..2eee410d23 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 25f270403f..da0f44c5e1 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1449,6 +1449,7 @@  GLIBC_2.21 nl_langinfo F
 GLIBC_2.21 nl_langinfo_l F
 GLIBC_2.21 nrand48 F
 GLIBC_2.21 nrand48_r F
+GLIBC_2.21 ns_name_ntop F
 GLIBC_2.21 ntohl F
 GLIBC_2.21 ntohs F
 GLIBC_2.21 ntp_adjtime F
@@ -2565,6 +2566,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
index 2a2bec433f..b1b08bb486 100644
--- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.21 ns_makecanon F
 GLIBC_2.21 ns_msg_getflag F
 GLIBC_2.21 ns_name_compress F
 GLIBC_2.21 ns_name_ntol F
-GLIBC_2.21 ns_name_ntop F
 GLIBC_2.21 ns_name_pack F
 GLIBC_2.21 ns_name_pton F
 GLIBC_2.21 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 0256a272dd..0e7944d5b7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2582,6 +2582,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3017,4 +3018,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 946f855c64..ea590ca43c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2615,6 +2615,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3062,4 +3063,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 602da17327..fde9d2e40d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2351,6 +2351,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2786,4 +2787,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
index 15f30deb34..c998d17d81 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 287285a21a..70eaf6b69b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1492,6 +1492,7 @@  GLIBC_2.17 nl_langinfo F
 GLIBC_2.17 nl_langinfo_l F
 GLIBC_2.17 nrand48 F
 GLIBC_2.17 nrand48_r F
+GLIBC_2.17 ns_name_ntop F
 GLIBC_2.17 ntohl F
 GLIBC_2.17 ntohs F
 GLIBC_2.17 ntp_adjtime F
@@ -2646,6 +2647,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
index f7fdd26bd1..0a93c2cc44 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.17 ns_makecanon F
 GLIBC_2.17 ns_msg_getflag F
 GLIBC_2.17 ns_name_compress F
 GLIBC_2.17 ns_name_ntol F
-GLIBC_2.17 ns_name_ntop F
 GLIBC_2.17 ns_name_pack F
 GLIBC_2.17 ns_name_pton F
 GLIBC_2.17 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index cdeee28d0f..f3a14d6efc 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1340,6 +1340,7 @@  GLIBC_2.33 nl_langinfo F
 GLIBC_2.33 nl_langinfo_l F
 GLIBC_2.33 nrand48 F
 GLIBC_2.33 nrand48_r F
+GLIBC_2.33 ns_name_ntop F
 GLIBC_2.33 ntohl F
 GLIBC_2.33 ntohs F
 GLIBC_2.33 ntp_adjtime F
@@ -2211,6 +2212,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
index 43947f7e27..a3af26db78 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
@@ -60,7 +60,6 @@  GLIBC_2.33 ns_makecanon F
 GLIBC_2.33 ns_msg_getflag F
 GLIBC_2.33 ns_name_compress F
 GLIBC_2.33 ns_name_ntol F
-GLIBC_2.33 ns_name_ntop F
 GLIBC_2.33 ns_name_pack F
 GLIBC_2.33 ns_name_pton F
 GLIBC_2.33 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index a74b54d6bb..94ededbfb6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1387,6 +1387,7 @@  GLIBC_2.27 nl_langinfo F
 GLIBC_2.27 nl_langinfo_l F
 GLIBC_2.27 nrand48 F
 GLIBC_2.27 nrand48_r F
+GLIBC_2.27 ns_name_ntop F
 GLIBC_2.27 ntohl F
 GLIBC_2.27 ntohs F
 GLIBC_2.27 ntp_adjtime F
@@ -2411,6 +2412,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
index eb9c1cb747..0d4bd6855b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
@@ -60,7 +60,6 @@  GLIBC_2.27 ns_makecanon F
 GLIBC_2.27 ns_msg_getflag F
 GLIBC_2.27 ns_name_compress F
 GLIBC_2.27 ns_name_ntol F
-GLIBC_2.27 ns_name_ntop F
 GLIBC_2.27 ns_name_pack F
 GLIBC_2.27 ns_name_pton F
 GLIBC_2.27 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index e96371317c..6a1a79c0cb 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2580,6 +2580,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3025,6 +3026,7 @@  GLIBC_2.9 getutxid F
 GLIBC_2.9 getutxline F
 GLIBC_2.9 inotify_init1 F
 GLIBC_2.9 login F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
 GLIBC_2.9 pututline F
 GLIBC_2.9 pututxline F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index aadc7c1d66..0ccda5fb5e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2388,6 +2388,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2821,4 +2822,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
index dcc4de5f55..548e92b846 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index cc4a625cb4..0b2709d984 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2435,6 +2435,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2699,4 +2700,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 163d2cd613..3077a96068 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2432,6 +2432,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2696,4 +2697,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 6eceee6b88..1df94b2c6b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2575,6 +2575,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3034,4 +3035,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
index 157a33ce35..14c65c7a46 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index e6bac469ba..8596cfbde9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2410,6 +2410,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2674,4 +2675,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
index 06f995151c..2eee410d23 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index e90f3e54c0..7422e4dcd6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2366,6 +2366,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2630,4 +2631,5 @@  GLIBC_2.8 timerfd_settime F
 GLIBC_2.9 dup3 F
 GLIBC_2.9 epoll_create1 F
 GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 pipe2 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
index 61d6b2b853..954af66409 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.9 ns_makecanon F
 GLIBC_2.9 ns_msg_getflag F
 GLIBC_2.9 ns_name_compress F
 GLIBC_2.9 ns_name_ntol F
-GLIBC_2.9 ns_name_ntop F
 GLIBC_2.9 ns_name_pack F
 GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 792f681bba..dba3592fb9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1411,6 +1411,7 @@  GLIBC_2.16 nl_langinfo F
 GLIBC_2.16 nl_langinfo_l F
 GLIBC_2.16 nrand48 F
 GLIBC_2.16 nrand48_r F
+GLIBC_2.16 ns_name_ntop F
 GLIBC_2.16 ntohl F
 GLIBC_2.16 ntohs F
 GLIBC_2.16 ntp_adjtime F
@@ -2465,6 +2466,7 @@  GLIBC_2.34 mtx_lock F
 GLIBC_2.34 mtx_timedlock F
 GLIBC_2.34 mtx_trylock F
 GLIBC_2.34 mtx_unlock F
+GLIBC_2.34 ns_name_ntop F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
index 2457bc9d49..79b4bbdd98 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
@@ -67,7 +67,6 @@  GLIBC_2.16 ns_makecanon F
 GLIBC_2.16 ns_msg_getflag F
 GLIBC_2.16 ns_name_compress F
 GLIBC_2.16 ns_name_ntol F
-GLIBC_2.16 ns_name_ntop F
 GLIBC_2.16 ns_name_pack F
 GLIBC_2.16 ns_name_pton F
 GLIBC_2.16 ns_name_rollback F