[06/30] resolv: Move ns_name_unpack to its own file and into libc

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

Checks

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

Commit Message

Florian Weimer July 2, 2021, 6:48 p.m. UTC
  Reformat to GNU style. Avoid out-of-bounds buffer arithmetic.
Eliminate the labellen function.

The symbol was moved using scripts/move-symbol-to-libc.py.
---
 include/arpa/nameser.h                        |   3 +-
 resolv/Makefile                               |   1 +
 resolv/Versions                               |   5 +-
 resolv/ns_name.c                              |  81 ------------
 resolv/ns_name_unpack.c                       | 115 ++++++++++++++++++
 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, 187 insertions(+), 115 deletions(-)
 create mode 100644 resolv/ns_name_unpack.c
  

Patch

diff --git a/include/arpa/nameser.h b/include/arpa/nameser.h
index f1a696514a..2396a43030 100644
--- a/include/arpa/nameser.h
+++ b/include/arpa/nameser.h
@@ -68,7 +68,6 @@  libresolv_hidden_proto (ns_parserr)
 libresolv_hidden_proto (ns_name_pton)
 libresolv_hidden_proto (ns_name_pack)
 libresolv_hidden_proto (ns_name_skip)
-libresolv_hidden_proto (ns_name_unpack)
 libresolv_hidden_proto (ns_name_compress)
 libresolv_hidden_proto (ns_name_uncompress)
 libresolv_hidden_proto (ns_sprintrr)
@@ -80,6 +79,8 @@  libresolv_hidden_proto (ns_format_ttl)
 
 extern __typeof (ns_name_ntop) __ns_name_ntop;
 libc_hidden_proto (__ns_name_ntop)
+extern __typeof (ns_name_unpack) __ns_name_unpack;
+libc_hidden_proto (__ns_name_unpack)
 
 # endif /* !_ISOMAC */
 #endif
diff --git a/resolv/Makefile b/resolv/Makefile
index bb16175654..469a9a55ae 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -33,6 +33,7 @@  routines := \
   inet_ntop \
   inet_pton \
   ns_name_ntop \
+  ns_name_unpack \
   nsap_addr \
   res-close \
   res-state \
diff --git a/resolv/Versions b/resolv/Versions
index 4bf1a13d48..9b5c4d9733 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -26,6 +26,7 @@  libc {
   }
   GLIBC_2.9 {
     ns_name_ntop;
+    ns_name_unpack;
   }
   GLIBC_2.34 {
 %if PTHREAD_IN_LIBC
@@ -35,6 +36,7 @@  libc {
     getaddrinfo_a;
 %endif
     ns_name_ntop;
+    ns_name_unpack;
   }
   GLIBC_PRIVATE {
 %if !PTHREAD_IN_LIBC
@@ -45,6 +47,7 @@  libc {
     __inet_pton_length;
     __res_iclose;
     __ns_name_ntop;
+    __ns_name_unpack;
     __resolv_context_get;
     __resolv_context_get_override;
     __resolv_context_get_preinit;
@@ -147,7 +150,6 @@  libresolv {
     ns_name_rollback;
     ns_name_skip;
     ns_name_uncompress;
-    ns_name_unpack;
     ns_parse_ttl;
     ns_parserr;
     ns_put16;
@@ -162,7 +164,6 @@  libresolv {
   GLIBC_PRIVATE {
     __ns_get16;
     __ns_get32;
-    __ns_name_unpack;
     __res_context_hostalias;
     __res_context_query;
     __res_context_search;
diff --git a/resolv/ns_name.c b/resolv/ns_name.c
index 4990003746..a0d541f110 100644
--- a/resolv/ns_name.c
+++ b/resolv/ns_name.c
@@ -217,87 +217,6 @@  ns_name_ntol(const u_char *src, u_char *dst, size_t dstsiz)
 	return (dn - dst);
 }
 
-/*%
- *	Unpack a domain name from a message, source may be compressed.
- *
- * return:
- *\li	-1 if it fails, or consumed octets if it succeeds.
- */
-int
-ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src,
-	       u_char *dst, size_t dstsiz)
-{
-	const u_char *srcp, *dstlim;
-	u_char *dstp;
-	int n, len, checked, l;
-
-	len = -1;
-	checked = 0;
-	dstp = dst;
-	srcp = src;
-	dstlim = dst + dstsiz;
-	if (srcp < msg || srcp >= eom) {
-		__set_errno (EMSGSIZE);
-		return (-1);
-	}
-	/* Fetch next label in domain name. */
-	while ((n = *srcp++) != 0) {
-		/* Check for indirection. */
-		switch (n & NS_CMPRSFLGS) {
-		case 0:
-			/* Limit checks. */
-			if ((l = labellen(srcp - 1)) < 0) {
-				__set_errno (EMSGSIZE);
-				return(-1);
-			}
-			if (dstp + l + 1 >= dstlim || srcp + l >= eom) {
-				__set_errno (EMSGSIZE);
-				return (-1);
-			}
-			checked += l + 1;
-			*dstp++ = n;
-			memcpy(dstp, srcp, l);
-			dstp += l;
-			srcp += l;
-			break;
-
-		case NS_CMPRSFLGS:
-			if (srcp >= eom) {
-				__set_errno (EMSGSIZE);
-				return (-1);
-			}
-			if (len < 0)
-				len = srcp - src + 1;
-			srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff));
-			if (srcp < msg || srcp >= eom) {  /*%< Out of range. */
-				__set_errno (EMSGSIZE);
-				return (-1);
-			}
-			checked += 2;
-			/*
-			 * Check for loops in the compressed name;
-			 * if we've looked at the whole message,
-			 * there must be a loop.
-			 */
-			if (checked >= eom - msg) {
-				__set_errno (EMSGSIZE);
-				return (-1);
-			}
-			break;
-
-		default:
-			__set_errno (EMSGSIZE);
-			return (-1);			/*%< flag error */
-		}
-	}
-	*dstp = '\0';
-	if (len < 0)
-		len = srcp - src;
-	return (len);
-}
-libresolv_hidden_def (ns_name_unpack)
-strong_alias (ns_name_unpack, __ns_name_unpack)
-
 /*%
  *	Pack domain name 'domain' into 'comp_dn'.
  *
diff --git a/resolv/ns_name_unpack.c b/resolv/ns_name_unpack.c
new file mode 100644
index 0000000000..1c1dd3ee8a
--- /dev/null
+++ b/resolv/ns_name_unpack.c
@@ -0,0 +1,115 @@ 
+/* De-compressing DNS domain names into binary-encoded uncompressed name.
+ * 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 <stddef.h>
+#include <string.h>
+
+/* Unpack a domain name from a message, source may be compressed.
+   Returns -1 if it fails, or consumed octets if it succeeds.  */
+int
+___ns_name_unpack (const unsigned char *msg, const unsigned char *eom,
+                   const unsigned char *src, unsigned char *dst, size_t dstsiz)
+{
+  const unsigned char *srcp, *dstlim;
+  unsigned char *dstp;
+  int n, len, checked;
+
+  len = -1;
+  checked = 0;
+  dstp = dst;
+  srcp = src;
+  dstlim = dst + dstsiz;
+  if (srcp < msg || srcp >= eom)
+    {
+      __set_errno (EMSGSIZE);
+      return -1;
+    }
+  /* Fetch next label in domain name.  */
+  while ((n = *srcp++) != 0)
+    {
+      /* Check for indirection.  */
+      switch (n & NS_CMPRSFLGS)
+        {
+        case 0:
+          /* Limit checks.  */
+          if (n >= 64)
+            {
+              __set_errno (EMSGSIZE);
+              return -1;
+            }
+          /* NB: n + 1 and >= to cover the *dstp = '\0' assignment
+             below.  */
+          if (n + 1 >= dstlim - dstp || n >= eom - srcp)
+            {
+              __set_errno (EMSGSIZE);
+              return -1;
+            }
+          checked += n + 1;
+          *dstp++ = n;
+          memcpy (dstp, srcp, n);
+          dstp += n;
+          srcp += n;
+          break;
+
+        case NS_CMPRSFLGS:
+          if (srcp >= eom)
+            {
+              __set_errno (EMSGSIZE);
+              return -1;
+            }
+          if (len < 0)
+            len = srcp - src + 1;
+          {
+            int target = ((n & 0x3f) << 8) | *srcp;
+            if (target >= eom - msg)
+              {
+              /* Out of range.  */
+                __set_errno (EMSGSIZE);
+                return -1;
+            }
+            srcp = msg + target;
+          }
+          checked += 2;
+          /* Check for loops in the compressed name; if we've looked
+             at the whole message, there must be a loop.  */
+          if (checked >= eom - msg)
+            {
+              __set_errno (EMSGSIZE);
+              return -1;
+            }
+          break;
+
+        default:
+          __set_errno (EMSGSIZE);
+          return -1;
+        }
+    }
+  *dstp = '\0';
+  if (len < 0)
+    len = srcp - src;
+  return len;
+}
+versioned_symbol (libc, ___ns_name_unpack, ns_name_unpack, GLIBC_2_34);
+versioned_symbol (libc, ___ns_name_unpack, __ns_name_unpack, GLIBC_PRIVATE);
+libc_hidden_ver (___ns_name_unpack, __ns_name_unpack)
+
+#if OTHER_SHLIB_COMPAT (libresolv, GLIBC_2_9, GLIBC_2_34)
+compat_symbol (libresolv, ___ns_name_unpack, ns_name_unpack, GLIBC_2_9);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index a2cb340469..6576db7c4d 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -2241,6 +2241,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 shm_open F
 GLIBC_2.34 shm_unlink F
@@ -2362,6 +2363,7 @@  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 ns_name_unpack 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 63a07a6073..ac0ee33f74 100644
--- a/sysdeps/mach/hurd/i386/libresolv.abilist
+++ b/sysdeps/mach/hurd/i386/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 93d92cdaca..c2d693f2f0 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1405,6 +1405,7 @@  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 ns_name_unpack F
 GLIBC_2.17 ntohl F
 GLIBC_2.17 ntohs F
 GLIBC_2.17 ntp_adjtime F
@@ -2454,6 +2455,7 @@  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 ns_name_unpack 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 0a93c2cc44..088a380288 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.17 ns_name_pton F
 GLIBC_2.17 ns_name_rollback F
 GLIBC_2.17 ns_name_skip F
 GLIBC_2.17 ns_name_uncompress F
-GLIBC_2.17 ns_name_unpack F
 GLIBC_2.17 ns_parse_ttl F
 GLIBC_2.17 ns_parserr F
 GLIBC_2.17 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index f5d0f5de75..a2ff93883b 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2552,6 +2552,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2986,4 +2987,5 @@  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 ns_name_unpack 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 2eee410d23..96bfcda497 100644
--- a/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index de804efa24..27c6976a46 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1339,6 +1339,7 @@  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 ns_name_unpack F
 GLIBC_2.32 ntohl F
 GLIBC_2.32 ntohs F
 GLIBC_2.32 ntp_adjtime F
@@ -2213,6 +2214,7 @@  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 ns_name_unpack 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 232146e7db..a2a3b33098 100644
--- a/sysdeps/unix/sysv/linux/arc/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libresolv.abilist
@@ -65,7 +65,6 @@  GLIBC_2.32 ns_name_pton F
 GLIBC_2.32 ns_name_rollback F
 GLIBC_2.32 ns_name_skip F
 GLIBC_2.32 ns_name_uncompress F
-GLIBC_2.32 ns_name_unpack F
 GLIBC_2.32 ns_parse_ttl F
 GLIBC_2.32 ns_parserr F
 GLIBC_2.32 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index f5283ee8fa..60fa3cf095 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -346,6 +346,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2682,4 +2683,5 @@  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 ns_name_unpack 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 1f2d60151f..b65f928a24 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index bb59edef2d..ca34bb6485 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -343,6 +343,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2679,4 +2680,5 @@  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 ns_name_unpack 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 1f2d60151f..b65f928a24 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index c942110a45..3d72b025f7 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1396,6 +1396,7 @@  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 ns_name_unpack F
 GLIBC_2.29 ntohl F
 GLIBC_2.29 ntohs F
 GLIBC_2.29 ntp_adjtime F
@@ -2479,6 +2480,7 @@  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 ns_name_unpack 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 eca5d43340..706af86332 100644
--- a/sysdeps/unix/sysv/linux/csky/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libresolv.abilist
@@ -65,7 +65,6 @@  GLIBC_2.29 ns_name_pton F
 GLIBC_2.29 ns_name_rollback F
 GLIBC_2.29 ns_name_skip F
 GLIBC_2.29 ns_name_uncompress F
-GLIBC_2.29 ns_name_unpack F
 GLIBC_2.29 ns_parse_ttl F
 GLIBC_2.29 ns_parserr F
 GLIBC_2.29 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 0aac86e1a7..591f412f6e 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2431,6 +2431,7 @@  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 ns_name_unpack 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.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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 9f3b9c3eac..1420001c57 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2615,6 +2615,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2880,4 +2881,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 66b25aea99..b82cc6f8cc 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2390,6 +2390,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2655,4 +2656,5 @@  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 ns_name_unpack 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 2eee410d23..96bfcda497 100644
--- a/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 2ed0f16c0f..807148d95b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -347,6 +347,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2661,4 +2662,5 @@  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 ns_name_unpack 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 1f2d60151f..b65f928a24 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 2c526fbeb9..e4d6c93f39 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2558,6 +2558,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2823,4 +2824,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 642de4f20a..611936ad63 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1407,6 +1407,7 @@  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 ns_name_unpack F
 GLIBC_2.18 ntohl F
 GLIBC_2.18 ntohs F
 GLIBC_2.18 ntp_adjtime F
@@ -2530,6 +2531,7 @@  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 ns_name_unpack 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 815672536e..b37f89df02 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.18 ns_name_pton F
 GLIBC_2.18 ns_name_rollback F
 GLIBC_2.18 ns_name_skip F
 GLIBC_2.18 ns_name_uncompress F
-GLIBC_2.18 ns_name_unpack F
 GLIBC_2.18 ns_parse_ttl F
 GLIBC_2.18 ns_parserr F
 GLIBC_2.18 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index f965ba4b7a..fb7cfa746c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1407,6 +1407,7 @@  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 ns_name_unpack F
 GLIBC_2.18 ntohl F
 GLIBC_2.18 ntohs F
 GLIBC_2.18 ntp_adjtime F
@@ -2527,6 +2528,7 @@  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 ns_name_unpack 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 815672536e..b37f89df02 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.18 ns_name_pton F
 GLIBC_2.18 ns_name_rollback F
 GLIBC_2.18 ns_name_skip F
 GLIBC_2.18 ns_name_uncompress F
-GLIBC_2.18 ns_name_unpack F
 GLIBC_2.18 ns_parse_ttl F
 GLIBC_2.18 ns_parserr F
 GLIBC_2.18 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 6cbb49a0a6..a3a67222d8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2523,6 +2523,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2784,4 +2785,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 9e31a75043..e4ac77fbf6 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2521,6 +2521,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2782,4 +2783,5 @@  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 ns_name_unpack 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 ec08230722..ba7732f9af 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2529,6 +2529,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2790,4 +2791,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 5b49800de2..a9a18bb073 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2441,6 +2441,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2702,4 +2703,5 @@  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 ns_name_unpack 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 2eee410d23..96bfcda497 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index b3b56b48d0..c8e458a964 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1450,6 +1450,7 @@  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 ns_name_unpack F
 GLIBC_2.21 ntohl F
 GLIBC_2.21 ntohs F
 GLIBC_2.21 ntp_adjtime F
@@ -2569,6 +2570,7 @@  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 ns_name_unpack 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 b1b08bb486..5440f128a1 100644
--- a/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.21 ns_name_pton F
 GLIBC_2.21 ns_name_rollback F
 GLIBC_2.21 ns_name_skip F
 GLIBC_2.21 ns_name_uncompress F
-GLIBC_2.21 ns_name_unpack F
 GLIBC_2.21 ns_parse_ttl F
 GLIBC_2.21 ns_parserr F
 GLIBC_2.21 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 4ba6e125d4..3596bfae1c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2585,6 +2585,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3021,4 +3022,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 7df9632595..d5c8fd3e90 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2618,6 +2618,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3066,4 +3067,5 @@  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 ns_name_unpack 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 ed2254e1bc..7cc0a01b6f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2354,6 +2354,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2790,4 +2791,5 @@  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 ns_name_unpack 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 c998d17d81..f9615e3258 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 5fc091daee..9a34d6e81e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1493,6 +1493,7 @@  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 ns_name_unpack F
 GLIBC_2.17 ntohl F
 GLIBC_2.17 ntohs F
 GLIBC_2.17 ntp_adjtime F
@@ -2650,6 +2651,7 @@  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 ns_name_unpack 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 0a93c2cc44..088a380288 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.17 ns_name_pton F
 GLIBC_2.17 ns_name_rollback F
 GLIBC_2.17 ns_name_skip F
 GLIBC_2.17 ns_name_uncompress F
-GLIBC_2.17 ns_name_unpack F
 GLIBC_2.17 ns_parse_ttl F
 GLIBC_2.17 ns_parserr F
 GLIBC_2.17 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 0d0acca43e..7e61e573b1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1341,6 +1341,7 @@  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 ns_name_unpack F
 GLIBC_2.33 ntohl F
 GLIBC_2.33 ntohs F
 GLIBC_2.33 ntp_adjtime F
@@ -2215,6 +2216,7 @@  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 ns_name_unpack 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 a3af26db78..e7595e5a28 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libresolv.abilist
@@ -65,7 +65,6 @@  GLIBC_2.33 ns_name_pton F
 GLIBC_2.33 ns_name_rollback F
 GLIBC_2.33 ns_name_skip F
 GLIBC_2.33 ns_name_uncompress F
-GLIBC_2.33 ns_name_unpack F
 GLIBC_2.33 ns_parse_ttl F
 GLIBC_2.33 ns_parserr F
 GLIBC_2.33 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 8b543e9297..c72f03fd16 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1388,6 +1388,7 @@  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 ns_name_unpack F
 GLIBC_2.27 ntohl F
 GLIBC_2.27 ntohs F
 GLIBC_2.27 ntp_adjtime F
@@ -2415,6 +2416,7 @@  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 ns_name_unpack 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 0d4bd6855b..ad3fd40f6d 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libresolv.abilist
@@ -65,7 +65,6 @@  GLIBC_2.27 ns_name_pton F
 GLIBC_2.27 ns_name_rollback F
 GLIBC_2.27 ns_name_skip F
 GLIBC_2.27 ns_name_uncompress F
-GLIBC_2.27 ns_name_unpack F
 GLIBC_2.27 ns_parse_ttl F
 GLIBC_2.27 ns_parserr F
 GLIBC_2.27 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index a488eb5848..9fddfda95a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2583,6 +2583,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3029,6 +3030,7 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index e43003703e..790d53f4aa 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2391,6 +2391,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2825,4 +2826,5 @@  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 ns_name_unpack 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 548e92b846..5f3cac884a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 788bd7f0e7..f7511aa5ba 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2438,6 +2438,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2703,4 +2704,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index bd709fd9be..4df12a41d9 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2435,6 +2435,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2700,4 +2701,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 32a270aad2..38d479f49b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2578,6 +2578,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -3038,4 +3039,5 @@  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 ns_name_unpack 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 14c65c7a46..65c4147299 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 1b39ca35f6..7c2a2ff334 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2413,6 +2413,7 @@  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 ns_name_unpack 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.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 ns_name_unpack 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 2eee410d23..96bfcda497 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
@@ -82,7 +82,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index d9c9ed1aa0..7c42523607 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2369,6 +2369,7 @@  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 ns_name_unpack F
 GLIBC_2.34 openpty F
 GLIBC_2.34 pthread_attr_getaffinity_np F
 GLIBC_2.34 pthread_attr_getguardsize F
@@ -2634,4 +2635,5 @@  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 ns_name_unpack 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 954af66409..34277a3732 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist
@@ -77,7 +77,6 @@  GLIBC_2.9 ns_name_pton F
 GLIBC_2.9 ns_name_rollback F
 GLIBC_2.9 ns_name_skip F
 GLIBC_2.9 ns_name_uncompress F
-GLIBC_2.9 ns_name_unpack F
 GLIBC_2.9 ns_parse_ttl F
 GLIBC_2.9 ns_parserr F
 GLIBC_2.9 ns_put16 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 784f3c948d..f48be0c05b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1412,6 +1412,7 @@  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 ns_name_unpack F
 GLIBC_2.16 ntohl F
 GLIBC_2.16 ntohs F
 GLIBC_2.16 ntp_adjtime F
@@ -2469,6 +2470,7 @@  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 ns_name_unpack 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 79b4bbdd98..16eca4411d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist
@@ -72,7 +72,6 @@  GLIBC_2.16 ns_name_pton F
 GLIBC_2.16 ns_name_rollback F
 GLIBC_2.16 ns_name_skip F
 GLIBC_2.16 ns_name_uncompress F
-GLIBC_2.16 ns_name_unpack F
 GLIBC_2.16 ns_parse_ttl F
 GLIBC_2.16 ns_parserr F
 GLIBC_2.16 ns_put16 F