[09/14] dlfcn: Move dlinfo into libc

Message ID ea06413369c3ef7fdff4bc57294394d4a07cceea.1621446837.git.fweimer@redhat.com
State Superseded
Headers
Series Move libdl 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 May 19, 2021, 6:04 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.
---
 dlfcn/Makefile                                |  3 +-
 dlfcn/Versions                                |  4 +-
 dlfcn/dlfcn.c                                 |  6 +++
 dlfcn/dlinfo.c                                | 45 ++++++++++---------
 dlfcn/sdlinfo.c                               |  1 -
 include/dlfcn.h                               |  2 +-
 sysdeps/mach/hurd/i386/libc.abilist           |  2 +
 sysdeps/mach/hurd/i386/libdl.abilist          |  2 +-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  2 +
 sysdeps/unix/sysv/linux/aarch64/libdl.abilist |  1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/alpha/libdl.abilist   |  2 +-
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 +
 sysdeps/unix/sysv/linux/arc/libdl.abilist     |  1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 +
 sysdeps/unix/sysv/linux/arm/be/libdl.abilist  |  1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 +
 sysdeps/unix/sysv/linux/arm/le/libdl.abilist  |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/csky/libdl.abilist    |  1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/hppa/libdl.abilist    |  2 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/i386/libdl.abilist    |  2 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/ia64/libdl.abilist    |  2 +-
 .../sysv/linux/m68k/coldfire/libc.abilist     |  2 +
 .../sysv/linux/m68k/coldfire/libdl.abilist    |  1 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  2 +
 .../unix/sysv/linux/m68k/m680x0/libdl.abilist |  2 +-
 .../sysv/linux/microblaze/be/libc.abilist     |  2 +
 .../sysv/linux/microblaze/be/libdl.abilist    |  1 -
 .../sysv/linux/microblaze/le/libc.abilist     |  2 +
 .../sysv/linux/microblaze/le/libdl.abilist    |  1 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 +
 .../unix/sysv/linux/mips/mips32/libdl.abilist |  2 +-
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +
 .../unix/sysv/linux/mips/mips64/libdl.abilist |  2 +-
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 +
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/nios2/libdl.abilist   |  1 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  2 +
 .../linux/powerpc/powerpc32/libdl.abilist     |  2 +-
 .../powerpc/powerpc32/nofpu/libc.abilist      |  2 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |  2 +
 .../linux/powerpc/powerpc64/be/libdl.abilist  |  2 +-
 .../linux/powerpc/powerpc64/le/libc.abilist   |  2 +
 .../linux/powerpc/powerpc64/le/libdl.abilist  |  1 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 +
 .../unix/sysv/linux/riscv/rv32/libdl.abilist  |  1 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 +
 .../unix/sysv/linux/riscv/rv64/libdl.abilist  |  1 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  2 +
 .../sysv/linux/s390/s390-32/libdl.abilist     |  2 +-
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 +
 .../sysv/linux/s390/s390-64/libdl.abilist     |  2 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/sh/be/libdl.abilist   |  2 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/sh/le/libdl.abilist   |  2 +-
 .../sysv/linux/sparc/sparc32/libc.abilist     |  2 +
 .../sysv/linux/sparc/sparc32/libdl.abilist    |  2 +-
 .../sysv/linux/sparc/sparc64/libc.abilist     |  2 +
 .../sysv/linux/sparc/sparc64/libdl.abilist    |  2 +-
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 +
 .../unix/sysv/linux/x86_64/64/libdl.abilist   |  2 +-
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 +
 .../unix/sysv/linux/x86_64/x32/libdl.abilist  |  1 -
 69 files changed, 120 insertions(+), 54 deletions(-)
 delete mode 100644 dlfcn/sdlinfo.c
  

Patch

diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index 1dfa247538..c65cdc2e2b 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -21,7 +21,7 @@  include ../Makeconfig
 
 headers		:= bits/dlfcn.h dlfcn.h
 extra-libs	:= libdl
-libdl-routines	:= dlopen dlvsym dlinfo \
+libdl-routines	:= dlopen dlvsym \
 		   dlfcn
 routines	:= $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
 elide-routines.os := $(routines)
@@ -30,6 +30,7 @@  routines += \
   dladdr1 \
   dlclose \
   dlerror \
+  dlinfo \
   dlmopen \
   dlsym \
   libc_dlerror_result \
diff --git a/dlfcn/Versions b/dlfcn/Versions
index acd9402b34..ca9a3e5591 100644
--- a/dlfcn/Versions
+++ b/dlfcn/Versions
@@ -7,6 +7,7 @@  libc {
   }
   GLIBC_2.3.3 {
     dladdr1;
+    dlinfo;
   }
   GLIBC_2.3.4 {
     dlmopen;
@@ -16,6 +17,7 @@  libc {
     dladdr;
     dlclose;
     dlerror;
+    dlinfo;
     dlmopen;
     dlsym;
   }
@@ -33,7 +35,7 @@  libdl {
     dlopen; dlvsym;
   }
   GLIBC_2.3.3 {
-    dlinfo;
+    __libdl_version_placeholder;
   }
   GLIBC_2.3.4 {
     __libdl_version_placeholder;
diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c
index 90cdee0903..55ecfcabbe 100644
--- a/dlfcn/dlfcn.c
+++ b/dlfcn/dlfcn.c
@@ -48,6 +48,12 @@  __libdl_version_placeholder_1 (void)
 {
 }
 
+#if SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) \
+  && ABI_libdl_GLIBC_2_3_3 != ABI_libdl_GLIBC_2_1
+compat_symbol (libdl, __libdl_version_placeholder_1,
+               __libdl_version_placeholder, GLIBC_2_3_3);
+#endif
+
 #if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) \
   && ABI_libdl_GLIBC_2_3_4 != ABI_libdl_GLIBC_2_1
 compat_symbol (libdl, __libdl_version_placeholder_1,
diff --git a/dlfcn/dlinfo.c b/dlfcn/dlinfo.c
index 9fb2a1405c..15fcbc5dc1 100644
--- a/dlfcn/dlinfo.c
+++ b/dlfcn/dlinfo.c
@@ -20,18 +20,8 @@ 
 #include <link.h>
 #include <ldsodefs.h>
 #include <libintl.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-int
-dlinfo (void *handle, int request, void *arg)
-{
-  return __dlinfo (handle, request, arg);
-}
-
-#else
-
-# include <dl-tls.h>
+#include <dl-tls.h>
+#include <shlib-compat.h>
 
 struct dlinfo_args
 {
@@ -88,18 +78,33 @@  dlinfo_doit (void *argsblock)
     }
 }
 
+static int
+dlinfo_implementation (void *handle, int request, void *arg)
+{
+  struct dlinfo_args args = { handle, request, arg };
+  return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0;
+}
+
+#ifdef SHARED
 int
-__dlinfo (void *handle, int request, void *arg)
+___dlinfo (void *handle, int request, void *arg)
 {
-# ifdef SHARED
   if (!rtld_active ())
     return _dlfcn_hook->dlinfo (handle, request, arg);
-# endif
-
-  struct dlinfo_args args = { handle, request, arg };
-  return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0;
+  else
+    return dlinfo_implementation (handle, request, arg);
 }
-# ifdef SHARED
-strong_alias (__dlinfo, dlinfo)
+versioned_symbol (libc, ___dlinfo, dlinfo, GLIBC_2_34);
+
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34)
+compat_symbol (libc, ___dlinfo, dlinfo, GLIBC_2_3_3);
 # endif
+#else /* !SHARED */
+/* Also used with _dlfcn_hook.  */
+int
+__dlinfo (void *handle, int request, void *arg)
+{
+  return dlinfo_implementation (handle, request, arg);
+}
+weak_alias (__dlinfo, dlinfo)
 #endif
diff --git a/dlfcn/sdlinfo.c b/dlfcn/sdlinfo.c
deleted file mode 100644
index dcc257dd1f..0000000000
--- a/dlfcn/sdlinfo.c
+++ /dev/null
@@ -1 +0,0 @@ 
-#include "dlinfo.c"
diff --git a/include/dlfcn.h b/include/dlfcn.h
index dc5193acbb..e898c17792 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -143,7 +143,7 @@  extern void *__dlvsym (void *handle, const char *name, const char *version
 extern int __dladdr (const void *address, Dl_info *info);
 extern int __dladdr1 (const void *address, Dl_info *info,
 		      void **extra_info, int flags);
-extern int __dlinfo (void *handle, int request, void *arg) attribute_hidden;
+extern int __dlinfo (void *handle, int request, void *arg);
 
 #ifndef SHARED
 struct link_map;
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 172e269fe9..f4adfc6e5f 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -2145,6 +2145,7 @@  GLIBC_2.3.2 setresgid F
 GLIBC_2.3.2 setresuid F
 GLIBC_2.3.2 strptime_l F
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 inet6_option_alloc F
 GLIBC_2.3.3 inet6_option_append F
 GLIBC_2.3.3 inet6_option_find F
@@ -2217,6 +2218,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist
index 9e890a9815..3a60902d2a 100644
--- a/sysdeps/mach/hurd/i386/libdl.abilist
+++ b/sysdeps/mach/hurd/i386/libdl.abilist
@@ -1,4 +1,4 @@ 
 GLIBC_2.2.6 dlopen F
 GLIBC_2.2.6 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index d801655616..b53ce756e4 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -722,6 +722,7 @@  GLIBC_2.17 dladdr F
 GLIBC_2.17 dladdr1 F
 GLIBC_2.17 dlclose F
 GLIBC_2.17 dlerror F
+GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlmopen F
 GLIBC_2.17 dlsym F
 GLIBC_2.17 dngettext F
@@ -2350,6 +2351,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
index 05eeace024..840db53856 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlopen F
 GLIBC_2.17 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 9dd9be4fde..7469e95f9e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2295,6 +2295,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2441,6 +2442,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 0cf8649bf1..29f7d2fc58 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -667,6 +667,7 @@  GLIBC_2.32 dladdr F
 GLIBC_2.32 dladdr1 F
 GLIBC_2.32 dlclose F
 GLIBC_2.32 dlerror F
+GLIBC_2.32 dlinfo F
 GLIBC_2.32 dlmopen F
 GLIBC_2.32 dlsym F
 GLIBC_2.32 dngettext F
@@ -2109,6 +2110,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist
index d3afdc0308..dc71de1647 100644
--- a/sysdeps/unix/sysv/linux/arc/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.32 dlinfo F
 GLIBC_2.32 dlopen F
 GLIBC_2.32 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index d9372d0ede..6e822a1b9f 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -210,6 +210,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
@@ -1024,6 +1025,7 @@  GLIBC_2.4 dladdr F
 GLIBC_2.4 dladdr1 F
 GLIBC_2.4 dlclose F
 GLIBC_2.4 dlerror F
+GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
 GLIBC_2.4 dngettext F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
index c24e10d9c5..763c28ead6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlopen F
 GLIBC_2.4 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 45a36337a8..cc9baa942a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -207,6 +207,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
@@ -1021,6 +1022,7 @@  GLIBC_2.4 dladdr F
 GLIBC_2.4 dladdr1 F
 GLIBC_2.4 dlclose F
 GLIBC_2.4 dlerror F
+GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
 GLIBC_2.4 dngettext F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
index c24e10d9c5..763c28ead6 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlopen F
 GLIBC_2.4 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index ad766a830f..a2d30d1416 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -703,6 +703,7 @@  GLIBC_2.29 dladdr F
 GLIBC_2.29 dladdr1 F
 GLIBC_2.29 dlclose F
 GLIBC_2.29 dlerror F
+GLIBC_2.29 dlinfo F
 GLIBC_2.29 dlmopen F
 GLIBC_2.29 dlsym F
 GLIBC_2.29 dngettext F
@@ -2293,6 +2294,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist
index 5cb45f50d3..a143948a4c 100644
--- a/sysdeps/unix/sysv/linux/csky/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.29 dlinfo F
 GLIBC_2.29 dlopen F
 GLIBC_2.29 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 7979b03d78..4a27a96ba8 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2130,6 +2130,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2246,6 +2247,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 69e8075bec..1682f375c5 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2310,6 +2310,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2429,6 +2430,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/i386/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 64b20a0a8f..f291dfc146 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2163,6 +2163,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2282,6 +2283,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 748b1fb53f..67f6a48e85 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -211,6 +211,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
@@ -1013,6 +1014,7 @@  GLIBC_2.4 dladdr F
 GLIBC_2.4 dladdr1 F
 GLIBC_2.4 dlclose F
 GLIBC_2.4 dlerror F
+GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
 GLIBC_2.4 dngettext F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
index c24e10d9c5..763c28ead6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlopen F
 GLIBC_2.4 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index d884d85106..07c83e0974 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2253,6 +2253,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2372,6 +2373,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index e573445cdf..dac56b7d2c 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -724,6 +724,7 @@  GLIBC_2.18 dladdr F
 GLIBC_2.18 dladdr1 F
 GLIBC_2.18 dlclose F
 GLIBC_2.18 dlerror F
+GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlmopen F
 GLIBC_2.18 dlsym F
 GLIBC_2.18 dngettext F
@@ -2344,6 +2345,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
index c042c043d6..327d8ad43b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlopen F
 GLIBC_2.18 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 055ef10f15..332a32ff02 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -724,6 +724,7 @@  GLIBC_2.18 dladdr F
 GLIBC_2.18 dladdr1 F
 GLIBC_2.18 dlclose F
 GLIBC_2.18 dlerror F
+GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlmopen F
 GLIBC_2.18 dlsym F
 GLIBC_2.18 dngettext F
@@ -2341,6 +2342,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
index c042c043d6..327d8ad43b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlopen F
 GLIBC_2.18 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index e263048207..ed68063951 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2219,6 +2219,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2337,6 +2338,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
index cb7bf28178..d10be39aa7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.2 dlopen F
 GLIBC_2.2 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index ea82abf354..4c0c12fcc0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2217,6 +2217,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2335,6 +2336,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
index cb7bf28178..d10be39aa7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.2 dlopen F
 GLIBC_2.2 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 4ae028b6fa..7f68e2a243 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2225,6 +2225,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x200
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2343,6 +2344,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index b515a31160..63759f1592 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2218,6 +2218,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x400
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2337,6 +2338,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index c0c685489a..d1d698d5bc 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -767,6 +767,7 @@  GLIBC_2.21 dladdr F
 GLIBC_2.21 dladdr1 F
 GLIBC_2.21 dlclose F
 GLIBC_2.21 dlerror F
+GLIBC_2.21 dlinfo F
 GLIBC_2.21 dlmopen F
 GLIBC_2.21 dlsym F
 GLIBC_2.21 dngettext F
@@ -2383,6 +2384,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
index 9acd54fa38..3cecf1ebac 100644
--- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.21 dlinfo F
 GLIBC_2.21 dlopen F
 GLIBC_2.21 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 0ff12ab919..fb51ea959e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2257,6 +2257,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 getcontext F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
@@ -2399,6 +2400,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index ef9c7504dc..f244969dc1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2290,6 +2290,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 getcontext F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
@@ -2432,6 +2433,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 8607c517b1..33dcd82acb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2110,6 +2110,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2247,6 +2248,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
index c27f19ac95..ffbe9e75a3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
@@ -1,4 +1,4 @@ 
 GLIBC_2.3 dlopen F
 GLIBC_2.3 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 12b5f144b1..bd3d89048e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -810,6 +810,7 @@  GLIBC_2.17 dladdr F
 GLIBC_2.17 dladdr1 F
 GLIBC_2.17 dlclose F
 GLIBC_2.17 dlerror F
+GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlmopen F
 GLIBC_2.17 dlsym F
 GLIBC_2.17 dngettext F
@@ -2546,6 +2547,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
index 05eeace024..840db53856 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlopen F
 GLIBC_2.17 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 0087e46f16..df3742c8e0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -660,6 +660,7 @@  GLIBC_2.33 dladdr F
 GLIBC_2.33 dladdr1 F
 GLIBC_2.33 dlclose F
 GLIBC_2.33 dlerror F
+GLIBC_2.33 dlinfo F
 GLIBC_2.33 dlmopen F
 GLIBC_2.33 dlsym F
 GLIBC_2.33 dngettext F
@@ -2111,6 +2112,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
index 2b91d9886c..13eefd7db9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.33 dlinfo F
 GLIBC_2.33 dlopen F
 GLIBC_2.33 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index e7708097fa..bea103a4a1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -701,6 +701,7 @@  GLIBC_2.27 dladdr F
 GLIBC_2.27 dladdr1 F
 GLIBC_2.27 dlclose F
 GLIBC_2.27 dlerror F
+GLIBC_2.27 dlinfo F
 GLIBC_2.27 dlmopen F
 GLIBC_2.27 dlsym F
 GLIBC_2.27 dngettext F
@@ -2311,6 +2312,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
index 8e30134591..c4b5356c4a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.27 dlinfo F
 GLIBC_2.27 dlopen F
 GLIBC_2.27 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index ed74df92bf..e619b3d4bf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2266,6 +2266,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2397,6 +2398,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 246d26e75f..2ab23d3e07 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2156,6 +2156,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2284,6 +2285,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
index f882403fe2..5df5e71ebf 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
@@ -1,4 +1,4 @@ 
 GLIBC_2.2 dlopen F
 GLIBC_2.2 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index b19ea45afe..d84d54f8b4 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2134,6 +2134,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2253,6 +2254,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 72cc437724..b0ff2bc745 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2134,6 +2134,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2250,6 +2251,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 5a6dce9642..f3cdca6e80 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2260,6 +2260,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x104
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2390,6 +2391,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 7f9babaf98..fc4e315c1d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2185,6 +2185,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2303,6 +2304,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
index 5f81d13a21..4722aad8b2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
@@ -1,5 +1,5 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
 GLIBC_2.1 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index de84cd035f..d7bc13c522 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2144,6 +2144,7 @@  GLIBC_2.3.3 __pthread_unregister_cancel_restore F
 GLIBC_2.3.3 __pthread_unwind_next F
 GLIBC_2.3.3 _sys_siglist D 0x208
 GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
 GLIBC_2.3.3 gnu_dev_major F
 GLIBC_2.3.3 gnu_dev_makedev F
 GLIBC_2.3.3 gnu_dev_minor F
@@ -2262,6 +2263,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
index 6b11f673cc..00764915cf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
@@ -1,4 +1,4 @@ 
 GLIBC_2.2.5 dlopen F
 GLIBC_2.2.5 dlvsym F
-GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.3 __libdl_version_placeholder F
 GLIBC_2.3.4 __libdl_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 672eed1ebe..703c411cce 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -726,6 +726,7 @@  GLIBC_2.16 dladdr F
 GLIBC_2.16 dladdr1 F
 GLIBC_2.16 dlclose F
 GLIBC_2.16 dlerror F
+GLIBC_2.16 dlinfo F
 GLIBC_2.16 dlmopen F
 GLIBC_2.16 dlsym F
 GLIBC_2.16 dngettext F
@@ -2365,6 +2366,7 @@  GLIBC_2.34 dladdr F
 GLIBC_2.34 dladdr1 F
 GLIBC_2.34 dlclose F
 GLIBC_2.34 dlerror F
+GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
 GLIBC_2.34 execveat F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
index fe8858d4ec..645f87e571 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
@@ -1,3 +1,2 @@ 
-GLIBC_2.16 dlinfo F
 GLIBC_2.16 dlopen F
 GLIBC_2.16 dlvsym F