[hurd,commited] resolv: Move libanl symbols to libc on hurd too

Samuel Thibault <[email protected]>
Newsgroups gmane.os.hurd.cvs,gmane.comp.lib.glibc.alpha
Message-ID <[email protected]>
---
 Makeconfig                              |  9 -------
 elf/Makefile                            |  4 ----
 include/netdb.h                         |  4 ----
 include/set-freeres.h                   |  2 --
 malloc/set-freeres.c                    |  2 --
 resolv/Makefile                         | 15 +++++-------
 resolv/Versions                         | 20 +++++-----------
 resolv/gai_cancel.c                     | 11 ++++-----
 resolv/gai_error.c                      | 11 ++++-----
 resolv/gai_misc.c                       | 15 +-----------
 resolv/gai_notify.c                     | 13 ++---------
 resolv/gai_suspend.c                    | 31 +++++++------------------
 resolv/getaddrinfo_a.c                  | 15 +++++-------
 resolv/libanl-compat.c                  |  6 ++---
 sysdeps/htl/resolv-libc.h               |  1 +
 sysdeps/mach/hurd/gai_misc.h            | 10 ++++----
 sysdeps/mach/hurd/i386/libanl.abilist   |  5 +---
 sysdeps/mach/hurd/i386/libc.abilist     |  8 +++++++
 sysdeps/mach/hurd/x86_64/libanl.abilist |  5 +---
 sysdeps/mach/hurd/x86_64/libc.abilist   |  8 +++++++
 sysdeps/nptl/resolv-libc.h              |  1 +
 21 files changed, 65 insertions(+), 131 deletions(-)
 create mode 100644 sysdeps/htl/resolv-libc.h
 create mode 100644 sysdeps/nptl/resolv-libc.h

diff --git a/Makeconfig b/Makeconfig
index 52c5c08bf1..8fe7217dd7 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1456,15 +1456,6 @@ endif
 sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\
 					 $(firstword $(subst :, ,$p))))
 
-# $(libanl-routines-var) is the make
-# variable to which libanl routines need to be added to land in the
-# right library.
-ifeq ($(pthread-in-libc),yes)
-libanl-routines-var = routines
-else
-libanl-routines-var = libanl-routines
-endif
-
 # A sysdeps Makeconfig fragment may set libc-reentrant to yes.
 ifeq (yes,$(libc-reentrant))
 defines += -D_LIBC_REENTRANT
diff --git a/elf/Makefile b/elf/Makefile
index efb9995e16..c8458f8000 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -2714,10 +2714,6 @@ $(objpfx)tst-ldconfig-soname.out : tst-ldconfig-soname.sh \
 # Test static linking of all the libraries we can possibly link
 # together.  Note that in some configurations this may be less than the
 # complete list of libraries we build but we try to maxmimize this list.
-ifeq ($(pthread-in-libc),no)
-$(objpfx)tst-linkall-static: \
-  $(common-objpfx)resolv/libanl.a
-endif
 $(objpfx)tst-linkall-static: \
   $(common-objpfx)math/libm.a \
   $(common-objpfx)resolv/libresolv.a \
diff --git a/include/netdb.h b/include/netdb.h
index 1b25837b4b..c071513447 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -199,11 +199,7 @@ libc_hidden_proto (ruserpass)
 # else
 extern int __gai_suspend_time64 (const struct gaicb *const list[], int ent,
                                  const struct __timespec64 *timeout);
-#  if PTHREAD_IN_LIBC
 libc_hidden_proto (__gai_suspend_time64)
-#  else
-libanl_hidden_proto (__gai_suspend_time64)
-#  endif
 # endif
 
 /* The following definition has been removed from the public header
diff --git a/include/set-freeres.h b/include/set-freeres.h
index 6e77304a43..470ce00791 100644
--- a/include/set-freeres.h
+++ b/include/set-freeres.h
@@ -81,11 +81,9 @@ extern void __libc_dlerror_result_free (void) attribute_hidden;
 /* From either libc.so or libpthread.so  */
 extern void __libpthread_freeres (void) attribute_hidden;
 /* From either libc.so or libanl.so  */
-#if PTHREAD_IN_LIBC
 extern void __gai_freemem (void) attribute_hidden;
 /* From either libc.so or librt.so  */
 extern void __aio_freemem (void) attribute_hidden;
-#endif
 
 /* From libc.so  */
 extern char * __libc_fgetgrent_freemem_ptr attribute_hidden;
diff --git a/malloc/set-freeres.c b/malloc/set-freeres.c
index 0ab64d3278..ab2998db89 100644
--- a/malloc/set-freeres.c
+++ b/malloc/set-freeres.c
@@ -170,11 +170,9 @@ __libc_freeres (void)
       call_function_static_weak (__libc_tzset_freemem);
       call_function_static_weak (__libc_localealias_freemem);
 
-#if PTHREAD_IN_LIBC
       call_function_static_weak (__gai_freemem);
 
       call_function_static_weak (__aio_freemem);
-#endif
 
       call_function_static_weak (__libpthread_freeres);
 
diff --git a/resolv/Makefile b/resolv/Makefile
index f817d040c5..34916a90cc 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -34,6 +34,12 @@ routines := \
   dns-canon \
   dns-host \
   dns-network \
+  gai_cancel \
+  gai_error \
+  gai_misc \
+  gai_notify \
+  gai_suspend \
+  getaddrinfo_a \
   herror \
   inet_addr \
   inet_ntop \
@@ -209,15 +215,6 @@ libanl-routines += libanl-compat
 libanl-shared-only-routines += libanl-compat
 endif
 
-$(libanl-routines-var) += \
-  gai_cancel \
-  gai_error \
-  gai_misc \
-  gai_notify \
-  gai_suspend \
-  getaddrinfo_a \
-  # $(libanl-routines-var)
-
 # Pretend that libanl.so is a linker script, so that the symbolic link
 # is not installed.
 install-lib-ldscripts = libanl.so
diff --git a/resolv/Versions b/resolv/Versions
index 6c7694e089..073a5e7819 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -40,12 +40,10 @@ libc {
     _res_hconf;
   }
   GLIBC_2.2.3 {
-%if PTHREAD_IN_LIBC
     gai_cancel;
     gai_error;
     gai_suspend;
     getaddrinfo_a;
-%endif
   }
   GLIBC_2.9 {
     ns_name_compress;
@@ -57,12 +55,10 @@ libc {
     ns_name_unpack;
   }
   GLIBC_2.34 {
-%if PTHREAD_IN_LIBC
     gai_cancel;
     gai_error;
     gai_suspend;
     getaddrinfo_a;
-%endif
     dn_comp;
     dn_expand;
     dn_skipname;
@@ -88,10 +84,13 @@ libc {
     res_search;
     res_send;
   }
+  GLIBC_2.44 {
+    gai_cancel;
+    gai_error;
+    gai_suspend;
+    getaddrinfo_a;
+  }
   GLIBC_PRIVATE {
-%if !PTHREAD_IN_LIBC
-    __gai_sigqueue;
-%endif
     __h_errno;
     __inet_aton_exact;
     __inet_pton_length;
@@ -231,13 +230,6 @@ libnss_dns {
 
 libanl {
   GLIBC_2.2.3 {
-%if PTHREAD_IN_LIBC
     __libanl_version_placeholder;
-%else
-    gai_cancel;
-    gai_error;
-    gai_suspend;
-    getaddrinfo_a;
-%endif
   }
 }
diff --git a/resolv/gai_cancel.c b/resolv/gai_cancel.c
index 295b42fb29..1badff93e3 100644
--- a/resolv/gai_cancel.c
+++ b/resolv/gai_cancel.c
@@ -19,6 +19,7 @@
 #include <pthread.h>
 #include <shlib-compat.h>
 #include <gai_misc.h>
+#include <resolv-libc.h>
 
 
 int
@@ -44,12 +45,8 @@ __gai_cancel (struct gaicb *gaicbp)
 
   return result;
 }
-#if PTHREAD_IN_LIBC
-versioned_symbol (libc, __gai_cancel, gai_cancel, GLIBC_2_34);
+versioned_symbol (libc, __gai_cancel, gai_cancel, ANL_IN_LIBC);
 
-# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
+#if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, ANL_IN_LIBC)
 compat_symbol (libanl, __gai_cancel, gai_cancel, GLIBC_2_2_3);
-# endif
-#else /* !PTHREAD_IN_LIBC */
-strong_alias (__gai_cancel, gai_cancel)
-#endif /* !PTHREAD_IN_LIBC */
+#endif
diff --git a/resolv/gai_error.c b/resolv/gai_error.c
index 0cc85bbd26..cd781e3b93 100644
--- a/resolv/gai_error.c
+++ b/resolv/gai_error.c
@@ -18,18 +18,15 @@
 #include <netdb.h>
 #include <shlib-compat.h>
 #include <gai_misc.h>
+#include <resolv-libc.h>
 
 int
 __gai_error (struct gaicb *req)
 {
   return req->__return;
 }
-#if PTHREAD_IN_LIBC
-versioned_symbol (libc, __gai_error, gai_error, GLIBC_2_34);
+versioned_symbol (libc, __gai_error, gai_error, ANL_IN_LIBC);
 
-# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
+#if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, ANL_IN_LIBC)
 compat_symbol (libanl, __gai_error, gai_error, GLIBC_2_2_3);
-# endif
-#else /* !PTHREAD_IN_LIBC */
-strong_alias (__gai_error, gai_error)
-#endif /* !PTHREAD_IN_LIBC */
+#endif
diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c
index da702cf2dd..5cf6d7c149 100644
--- a/resolv/gai_misc.c
+++ b/resolv/gai_misc.c
@@ -23,17 +23,7 @@
 #include <sys/time.h>
 
 #include <gai_misc.h>
-
-#if !PTHREAD_IN_LIBC
-/* The available function names differ outside of libc.  (In libc, we
-   need to use hidden aliases to avoid the PLT.)  */
-#define __pthread_attr_init pthread_attr_init
-#define __pthread_attr_setdetachstate pthread_attr_setdetachstate
-#define __pthread_cond_signal pthread_cond_signal
-#define __pthread_cond_timedwait pthread_cond_timedwait
-#define __pthread_create pthread_create
-#define __pthread_exit pthread_exit
-#endif
+#include <resolv-libc.h>
 
 #ifndef gai_create_helper_thread
 # define gai_create_helper_thread __gai_create_helper_thread
@@ -435,9 +425,6 @@ handle_requests (void *arg)
 
 
 /* Free allocated resources.  */
-#if !PTHREAD_IN_LIBC
-__attribute__ ((__destructor__)) static
-#endif
 void
 __gai_freemem (void)
 {
diff --git a/resolv/gai_notify.c b/resolv/gai_notify.c
index 031426d059..bfc11a1614 100644
--- a/resolv/gai_notify.c
+++ b/resolv/gai_notify.c
@@ -19,16 +19,7 @@
 #include <pthread.h>
 #include <stdlib.h>
 #include <gai_misc.h>
-
-#if !PTHREAD_IN_LIBC
-/* The available function names differ outside of libc.  (In libc, we
-   need to use hidden aliases to avoid the PLT.)  */
-#define __pthread_attr_init pthread_attr_init
-#define __pthread_attr_setdetachstate pthread_attr_setdetachstate
-#define __pthread_cond_signal pthread_cond_signal
-#define __pthread_cond_timedwait pthread_cond_timedwait
-#define __pthread_create pthread_create
-#endif
+#include <resolv-libc.h>
 
 struct notify_func
   {
@@ -119,7 +110,7 @@ __gai_notify (struct requestlist *req)
 	  /* Decrement the counter.  */
 	  --*waitlist->counterp;
 
-	  pthread_cond_signal (waitlist->cond);
+	  __pthread_cond_signal (waitlist->cond);
 #endif
 	}
       else
diff --git a/resolv/gai_suspend.c b/resolv/gai_suspend.c
index 8b95830c85..28c9465f83 100644
--- a/resolv/gai_suspend.c
+++ b/resolv/gai_suspend.c
@@ -22,6 +22,7 @@
 #include <sys/time.h>
 
 #include <gai_misc.h>
+#include <resolv-libc.h>
 
 int
 ___gai_suspend_time64 (const struct gaicb *const list[], int ent,
@@ -97,7 +98,7 @@ ___gai_suspend_time64 (const struct gaicb *const list[], int ent,
       GAI_MISC_WAIT (result, cntr, timeout == NULL ? NULL : &ts, 1);
 #else
       struct timespec ts32 = valid_timespec64_to_timespec (ts);
-      result = pthread_cond_timedwait (&cond, &__gai_requests_mutex,
+      result = __pthread_cond_timedwait (&cond, &__gai_requests_mutex,
                                        timeout == NULL ? NULL : &ts32);
 #endif
 
@@ -124,7 +125,7 @@ ___gai_suspend_time64 (const struct gaicb *const list[], int ent,
 
 #ifndef DONT_NEED_GAI_MISC_COND
       /* Release the conditional variable.  */
-      if (pthread_cond_destroy (&cond) != 0)
+      if (__pthread_cond_destroy (&cond) != 0)
 	/* This must never happen.  */
 	abort ();
 #endif
@@ -150,25 +151,15 @@ ___gai_suspend_time64 (const struct gaicb *const list[], int ent,
 }
 
 #if __TIMESIZE == 64
-# if PTHREAD_IN_LIBC
-versioned_symbol (libc, ___gai_suspend_time64, gai_suspend, GLIBC_2_34);
-#  if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
+versioned_symbol (libc, ___gai_suspend_time64, gai_suspend, ANL_IN_LIBC);
+# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, ANL_IN_LIBC)
 compat_symbol (libanl, ___gai_suspend_time64, gai_suspend, GLIBC_2_2_3);
-#  endif
-# else
-weak_alias (___gai_suspend_time64, gai_suspend)
-# endif /* PTHREAD_IN_LIBC */
+# endif
 
 #else /* __TIMESIZE != 64 */
-# if PTHREAD_IN_LIBC
 libc_hidden_ver (___gai_suspend_time64, __gai_suspend_time64)
 versioned_symbol (libc, ___gai_suspend_time64, __gai_suspend_time64,
-		  GLIBC_2_34);
-# else /* !PTHREAD_IN_LIBC */
-# if IS_IN (libanl)
-hidden_ver (___gai_suspend_time64, __gai_suspend_time64)
-# endif
-#endif /* !PTHREAD_IN_LIBC */
+		  ANL_IN_LIBC);
 
 int
 ___gai_suspend (const struct gaicb *const list[], int ent,
@@ -181,12 +172,8 @@ ___gai_suspend (const struct gaicb *const list[], int ent,
 
   return __gai_suspend_time64 (list, ent, timeout != NULL ? &ts64 : NULL);
 }
-#if PTHREAD_IN_LIBC
-versioned_symbol (libc, ___gai_suspend, gai_suspend, GLIBC_2_34);
-# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
+versioned_symbol (libc, ___gai_suspend, gai_suspend, ANL_IN_LIBC);
+# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, ANL_IN_LIBC)
 compat_symbol (libanl, ___gai_suspend, gai_suspend, GLIBC_2_2_3);
 # endif
-# else
-weak_alias (___gai_suspend, gai_suspend)
-# endif /* !PTHREAD_IN_LIBC */
 #endif /* __TIMESIZE != 64 */
diff --git a/resolv/getaddrinfo_a.c b/resolv/getaddrinfo_a.c
index 1e7e17f9db..37a401bd59 100644
--- a/resolv/getaddrinfo_a.c
+++ b/resolv/getaddrinfo_a.c
@@ -22,6 +22,7 @@
 #include <unistd.h>
 
 #include <gai_misc.h>
+#include <resolv-libc.h>
 
 
 /* We need this special structure to handle asynchronous I/O.  */
@@ -126,7 +127,7 @@ __getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig)
 	  int not_used __attribute__ ((unused));
 	  GAI_MISC_WAIT (not_used, total, NULL, 1);
 #else
-	  pthread_cond_wait (&cond, &__gai_requests_mutex);
+	  __pthread_cond_wait (&cond, &__gai_requests_mutex);
 #endif
 	}
 
@@ -135,7 +136,7 @@ __getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig)
 
 #ifndef DONT_NEED_GAI_MISC_COND
       /* Release the conditional variable.  */
-      if (pthread_cond_destroy (&cond) != 0)
+      if (__pthread_cond_destroy (&cond) != 0)
 	/* This must never happen.  */
 	abort ();
 #endif
@@ -179,12 +180,8 @@ __getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig)
 
   return result;
 }
-#if PTHREAD_IN_LIBC
-versioned_symbol (libc, __getaddrinfo_a, getaddrinfo_a, GLIBC_2_34);
+versioned_symbol (libc, __getaddrinfo_a, getaddrinfo_a, ANL_IN_LIBC);
 
-# if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
+#if OTHER_SHLIB_COMPAT (libanl, GLIBC_2_2_3, ANL_IN_LIBC)
 compat_symbol (libanl, __getaddrinfo_a, getaddrinfo_a, GLIBC_2_2_3);
-# endif
-#else /* !PTHREAD_IN_LIBC */
-strong_alias (__getaddrinfo_a, getaddrinfo_a)
-#endif /* !PTHREAD_IN_LIBC */
+#endif
diff --git a/resolv/libanl-compat.c b/resolv/libanl-compat.c
index 0e8040b4ca..4b21a2c7cf 100644
--- a/resolv/libanl-compat.c
+++ b/resolv/libanl-compat.c
@@ -16,9 +16,8 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
-#if PTHREAD_IN_LIBC
-# include <shlib-compat.h>
-# include <sys/cdefs.h>
+#include <shlib-compat.h>
+#include <sys/cdefs.h>
 
 /* This file is used to keep specific symbol versions occupied, so
    that ld does not generate weak symbol version definitions.  */
@@ -32,4 +31,3 @@ __libanl_version_placeholder_1 (void)
 
 compat_symbol (libanl, __libanl_version_placeholder_1,
                __libanl_version_placeholder, GLIBC_2_2_3);
-#endif
diff --git a/sysdeps/htl/resolv-libc.h b/sysdeps/htl/resolv-libc.h
new file mode 100644
index 0000000000..7a49efe5ef
--- /dev/null
+++ b/sysdeps/htl/resolv-libc.h
@@ -0,0 +1 @@
+#define ANL_IN_LIBC GLIBC_2_44
diff --git a/sysdeps/mach/hurd/gai_misc.h b/sysdeps/mach/hurd/gai_misc.h
index 20f15135a8..0237e59bf6 100644
--- a/sysdeps/mach/hurd/gai_misc.h
+++ b/sysdeps/mach/hurd/gai_misc.h
@@ -39,11 +39,11 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
   pthread_attr_t attr;
 
   /* Make sure the thread is created detached.  */
-  pthread_attr_init (&attr);
-  pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
+  __pthread_attr_init (&attr);
+  __pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED);
 
   /* The helper thread needs only very little resources.  */
-  (void) pthread_attr_setstacksize (&attr, 0x10000);
+  (void) __pthread_attr_setstacksize (&attr, 0x10000);
 
   /* Block all signals in the helper thread.  To do this thoroughly we
      temporarily have to block all signals here.  */
@@ -54,13 +54,13 @@ __gai_create_helper_thread (pthread_t *threadp, void *(*tf) (void *),
   sigerr = __pthread_sigmask (SIG_SETMASK, &ss, &oss);
   assert_perror (sigerr);
 
-  int ret = pthread_create (threadp, &attr, tf, arg);
+  int ret = __pthread_create (threadp, &attr, tf, arg);
 
   /* Restore the signal mask.  */
   sigerr = __pthread_sigmask (SIG_SETMASK, &oss, NULL);
   assert_perror (sigerr);
 
-  (void) pthread_attr_destroy (&attr);
+  (void) __pthread_attr_destroy (&attr);
   return ret;
 }
 
diff --git a/sysdeps/mach/hurd/i386/libanl.abilist b/sysdeps/mach/hurd/i386/libanl.abilist
index 123013b2ce..827accc217 100644
--- a/sysdeps/mach/hurd/i386/libanl.abilist
+++ b/sysdeps/mach/hurd/i386/libanl.abilist
@@ -1,4 +1 @@
-GLIBC_2.2.6 gai_cancel F
-GLIBC_2.2.6 gai_error F
-GLIBC_2.2.6 gai_suspend F
-GLIBC_2.2.6 getaddrinfo_a F
+GLIBC_2.2.6 __libanl_version_placeholder F
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 5641e986c1..0166703bdb 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -1065,7 +1065,10 @@ GLIBC_2.2.6 fwprintf F
 GLIBC_2.2.6 fwrite F
 GLIBC_2.2.6 fwrite_unlocked F
 GLIBC_2.2.6 fwscanf F
+GLIBC_2.2.6 gai_cancel F
+GLIBC_2.2.6 gai_error F
 GLIBC_2.2.6 gai_strerror F
+GLIBC_2.2.6 gai_suspend F
 GLIBC_2.2.6 gcvt F
 GLIBC_2.2.6 get_avphys_pages F
 GLIBC_2.2.6 get_current_dir_name F
@@ -1075,6 +1078,7 @@ GLIBC_2.2.6 get_nprocs_conf F
 GLIBC_2.2.6 get_phys_pages F
 GLIBC_2.2.6 get_privileged_ports F
 GLIBC_2.2.6 getaddrinfo F
+GLIBC_2.2.6 getaddrinfo_a F
 GLIBC_2.2.6 getaliasbyname F
 GLIBC_2.2.6 getaliasbyname_r F
 GLIBC_2.2.6 getaliasent F
@@ -2810,6 +2814,10 @@ GLIBC_2.44 aio_suspend F
 GLIBC_2.44 aio_suspend64 F
 GLIBC_2.44 aio_write F
 GLIBC_2.44 aio_write64 F
+GLIBC_2.44 gai_cancel F
+GLIBC_2.44 gai_error F
+GLIBC_2.44 gai_suspend F
+GLIBC_2.44 getaddrinfo_a F
 GLIBC_2.44 lio_listio F
 GLIBC_2.44 lio_listio64 F
 GLIBC_2.44 mq_close F
diff --git a/sysdeps/mach/hurd/x86_64/libanl.abilist b/sysdeps/mach/hurd/x86_64/libanl.abilist
index c0a6a00972..b00e70643c 100644
--- a/sysdeps/mach/hurd/x86_64/libanl.abilist
+++ b/sysdeps/mach/hurd/x86_64/libanl.abilist
@@ -1,4 +1 @@
-GLIBC_2.38 gai_cancel F
-GLIBC_2.38 gai_error F
-GLIBC_2.38 gai_suspend F
-GLIBC_2.38 getaddrinfo_a F
+GLIBC_2.38 __libanl_version_placeholder F
diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist
index 761e399dc9..0262a079aa 100644
--- a/sysdeps/mach/hurd/x86_64/libc.abilist
+++ b/sysdeps/mach/hurd/x86_64/libc.abilist
@@ -973,7 +973,10 @@ GLIBC_2.38 fwprintf F
 GLIBC_2.38 fwrite F
 GLIBC_2.38 fwrite_unlocked F
 GLIBC_2.38 fwscanf F
+GLIBC_2.38 gai_cancel F
+GLIBC_2.38 gai_error F
 GLIBC_2.38 gai_strerror F
+GLIBC_2.38 gai_suspend F
 GLIBC_2.38 gcvt F
 GLIBC_2.38 get_avphys_pages F
 GLIBC_2.38 get_current_dir_name F
@@ -982,6 +985,7 @@ GLIBC_2.38 get_nprocs_conf F
 GLIBC_2.38 get_phys_pages F
 GLIBC_2.38 get_privileged_ports F
 GLIBC_2.38 getaddrinfo F
+GLIBC_2.38 getaddrinfo_a F
 GLIBC_2.38 getaliasbyname F
 GLIBC_2.38 getaliasbyname_r F
 GLIBC_2.38 getaliasent F
@@ -2486,6 +2490,10 @@ GLIBC_2.44 aio_suspend F
 GLIBC_2.44 aio_suspend64 F
 GLIBC_2.44 aio_write F
 GLIBC_2.44 aio_write64 F
+GLIBC_2.44 gai_cancel F
+GLIBC_2.44 gai_error F
+GLIBC_2.44 gai_suspend F
+GLIBC_2.44 getaddrinfo_a F
 GLIBC_2.44 lio_listio F
 GLIBC_2.44 lio_listio64 F
 GLIBC_2.44 mq_close F
diff --git a/sysdeps/nptl/resolv-libc.h b/sysdeps/nptl/resolv-libc.h
new file mode 100644
index 0000000000..7c28189985
--- /dev/null
+++ b/sysdeps/nptl/resolv-libc.h
@@ -0,0 +1 @@
+#define ANL_IN_LIBC GLIBC_2_34
-- 
2.51.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.