aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-07-02 11:45:00 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-07-02 11:45:00 +0200
commitdbb949f53d4801b91885b2dfac9875b83a8710bf (patch)
tree9fdfcaeda7ba0f7f2895f45e233757cdfdb1eef3
parent813c6ec808556553be9d39e900a3fc97ceb32330 (diff)
downloadglibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.tar.xz
glibc-dbb949f53d4801b91885b2dfac9875b83a8710bf.zip
resolv: Move libanl into libc (if libpthread is in libc)
The symbols gai_cancel, gai_error, gai_suspend, getaddrinfo_a, __gai_suspend_time64 were moved using scripts/move-symbol-to-libc.py. For Hurd (which remains !PTHREAD_IN_LIBC), a few #define redirects had to be added because several pthread functions are not available under __. (Linux uses __ prefixes for most hidden aliases, and has to in some cases to avoid linknamespace issues.)
-rw-r--r--Makeconfig2
-rw-r--r--include/netdb.h4
-rw-r--r--resolv/Makefile7
-rw-r--r--resolv/Versions16
-rw-r--r--resolv/gai_cancel.c17
-rw-r--r--resolv/gai_error.c13
-rw-r--r--resolv/gai_misc.c48
-rw-r--r--resolv/gai_misc.h1
-rw-r--r--resolv/gai_notify.c15
-rw-r--r--resolv/gai_sigqueue.c2
-rw-r--r--resolv/gai_suspend.c47
-rw-r--r--resolv/getaddrinfo_a.c21
-rw-r--r--resolv/libanl-compat.c35
-rw-r--r--sysdeps/nptl/gai_misc.h24
-rw-r--r--sysdeps/unix/sysv/linux/Versions9
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arc/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/csky/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/gai_sigqueue.c1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/i386/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libanl.abilist6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist8
78 files changed, 498 insertions, 206 deletions
diff --git a/Makeconfig b/Makeconfig
index 407df9e6a1..efc7351d71 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -1342,9 +1342,11 @@ sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\
ifeq ($(pthread-in-libc),yes)
libpthread-routines-var = routines
librt-routines-var = routines
+libanl-routines-var = routines
else
libpthread-routines-var = libpthread-routines
librt-routines-var = librt-routines
+libanl-routines-var = libanl-routines
endif
# A sysdeps Makeconfig fragment may set libc-reentrant to yes.
diff --git a/include/netdb.h b/include/netdb.h
index 645b85dc62..82e102ff76 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -199,7 +199,11 @@ 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/resolv/Makefile b/resolv/Makefile
index 3fbc320ee1..1d3565d478 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -112,8 +112,11 @@ libresolv-routines := res_comp res_debug \
ns_samedomain ns_date res_enable_icmp \
compat-hooks compat-gethnamaddr
-libanl-routines := gai_cancel gai_error gai_misc gai_notify gai_suspend \
- getaddrinfo_a
+$(libanl-routines-var) += \
+ gai_cancel gai_error gai_misc gai_notify gai_suspend getaddrinfo_a
+
+libanl-routines += libanl-compat
+libanl-shared-only-routines += libanl-compat
subdir-dirs = nss_dns
vpath %.c nss_dns
diff --git a/resolv/Versions b/resolv/Versions
index 9a82704af7..d4f6b4b819 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -21,8 +21,20 @@ libc {
# r*
__res_state; __res_init; __res_nclose; __res_ninit; _res_hconf;
}
+ GLIBC_2.2.3 {
+%if PTHREAD_IN_LIBC
+ gai_cancel; gai_error; gai_suspend; getaddrinfo_a;
+%endif
+ }
+ GLIBC_2.34 {
+%if PTHREAD_IN_LIBC
+ gai_cancel; gai_error; gai_suspend; getaddrinfo_a;
+%endif
+ }
GLIBC_PRIVATE {
+%if !PTHREAD_IN_LIBC
__gai_sigqueue;
+%endif
__h_errno; __resp;
@@ -103,6 +115,10 @@ libnss_dns {
libanl {
GLIBC_2.2.3 {
+%if PTHREAD_IN_LIBC
+ __libanl_version_placeholder;
+%else
gai_cancel; gai_error; gai_suspend; getaddrinfo_a;