From patchwork Sun Mar 15 20:45:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 131764 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 2C65F4C31803 for ; Sun, 15 Mar 2026 20:46:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C65F4C31803 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) by sourceware.org (Postfix) with ESMTPS id 0FBCA4BBC0F8 for ; Sun, 15 Mar 2026 20:45:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0FBCA4BBC0F8 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0FBCA4BBC0F8 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1773607531; cv=none; b=ruUBH11lALIdVNGvYCCc1DLxqqVXR53cwA7VGSv+ARsHIrzsPOvGCCKiGAK8uWKLWI6dPUDIYpfmmcOgVwJxuLQtojthUenEOBtQ/wyGp0aEU5qew3q9YNk3EO6sKgYyb4f+7mFtvdG/wjABrkDsnWOq3GM4mSYrtrageRRtT8U= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1773607531; c=relaxed/simple; bh=JSQVGKyURQSpT5qEzMMu/vRy4tK4bTyN+Dx+vb50WUc=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=Wuck2fohiQJ0DLPOP5oXAQ6HNqESgxxRppDzIrpJ/lZ3/M/hdc/meuV3s3YL0l4wD+oGsVdixVSwkpJYKeHWbXfFF+qZN74VDFvn/hltwU8pVj7lhZtLa0PkUeobProF52rah/a4ekD90PBVc4a7em4EjkfuATB+s6VJHK9grKM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0FBCA4BBC0F8 Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id EF70EA0551; Sun, 15 Mar 2026 21:45:29 +0100 (CET) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W3yyBKo98qDL; Sun, 15 Mar 2026 21:45:29 +0100 (CET) Received: from end (aamiens-653-1-40-48.w83-192.abo.wanadoo.fr [83.192.199.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id CA44CA01C0; Sun, 15 Mar 2026 21:45:29 +0100 (CET) Received: from samy by end with local (Exim 4.99.1) (envelope-from ) id 1w1sL3-000000047hY-1SCK; Sun, 15 Mar 2026 21:45:29 +0100 From: Samuel Thibault To: libc-alpha@sourceware.org Cc: Samuel Thibault , commit-hurd@gnu.org Subject: [hurd,commited] resolv: Move libanl symbols to libc on hurd too Date: Sun, 15 Mar 2026 21:45:28 +0100 Message-ID: <20260315204528.982909-1-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_SHORT, RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, SPF_PASS, TXREP, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org --- 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 #include #include +#include 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 #include #include +#include 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 #include - -#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 #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 #include #include - -#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 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 #include +#include 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 #include +#include /* 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 . */ -#if PTHREAD_IN_LIBC -# include -# include +#include +#include /* 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