aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-06-03 08:26:04 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-06-03 08:26:04 +0200
commit77f876c0e3ac08a98daa60fbad44061d4e4c3d14 (patch)
tree307d7f376167350fa336c4f37d21ee63b62bf40e
parent602252b553031d49c70467bfebcb1ba3bd264501 (diff)
downloadglibc-77f876c0e3ac08a98daa60fbad44061d4e4c3d14.zip
glibc-77f876c0e3ac08a98daa60fbad44061d4e4c3d14.tar.gz
glibc-77f876c0e3ac08a98daa60fbad44061d4e4c3d14.tar.bz2
dlfcn: Move dlsym into libc
The symbol was moved using scripts/move-symbol-to-libc.py. In elf/Makefile, remove the $(libdl) dependency from testobj1.so because it the unused libdl DSO now causes elf/tst-unused-deps to fail. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r--dlfcn/Makefile3
-rw-r--r--dlfcn/Versions3
-rw-r--r--dlfcn/dlsym.c59
-rw-r--r--dlfcn/sdlsym.c1
-rw-r--r--elf/Makefile1
-rw-r--r--elf/dl-sym.c1
-rw-r--r--include/dlfcn.h4
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist2
-rw-r--r--sysdeps/mach/hurd/i386/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist1
70 files changed, 108 insertions, 60 deletions
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index f079346..b0f2e8a 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 dlsym dlvsym dladdr1 dlinfo \
+libdl-routines := dlopen dlvsym dladdr1 dlinfo \
dlmopen dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
@@ -29,6 +29,7 @@ routines += \
dladdr \
dlclose \
dlerror \
+ dlsym \
libc_dlerror_result \
extra-libs-others := libdl
diff --git a/dlfcn/Versions b/dlfcn/Versions
index f801fff..7d6b51a 100644
--- a/dlfcn/Versions
+++ b/dlfcn/Versions
@@ -3,11 +3,13 @@ libc {
dladdr;
dlclose;
dlerror;
+ dlsym;
}
GLIBC_2.34 {
dladdr;
dlclose;
dlerror;
+ dlsym;
}
GLIBC_PRIVATE {
__libc_dlerror_result;
@@ -18,7 +20,6 @@ libc {
libdl {
GLIBC_2.0 {
dlopen;
- dlsym;
}
GLIBC_2.1 {
dlopen; dlvsym;
diff --git a/dlfcn/dlsym.c b/dlfcn/dlsym.c
index 26cea4b..6b03b7b 100644
--- a/dlfcn/dlsym.c
+++ b/dlfcn/dlsym.c
@@ -17,19 +17,9 @@
<https://www.gnu.org/licenses/>. */
#include <dlfcn.h>
-#include <stddef.h>
-
#include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-void *
-dlsym (void *handle, const char *name)
-{
- return __dlsym (handle, name, RETURN_ADDRESS (0));
-}
-
-#else
+#include <shlib-compat.h>
+#include <stddef.h>
struct dlsym_args
{
@@ -50,17 +40,11 @@ dlsym_doit (void *a)
args->sym = _dl_sym (args->handle, args->name, args->who);
}
-
-void *
-__dlsym (void *handle, const char *name DL_CALLER_DECL)
+static void *
+dlsym_implementation (void *handle, const char *name, void *dl_caller)
{
-# ifdef SHARED
- if (!rtld_active ())
- return _dlfcn_hook->dlsym (handle, name, DL_CALLER);
-# endif
-
struct dlsym_args args;
- args.who = DL_CALLER;
+ args.who = dl_caller;
args.handle = handle;
args.name = name;
@@ -73,7 +57,34 @@ __dlsym (void *handle, const char *name DL_CALLER_DECL)
return result;
}
-# ifdef SHARED
-strong_alias (__dlsym, dlsym)
+
+#ifdef SHARED
+void *
+___dlsym (void *handle, const char *name)
+{
+ if (!rtld_active ())
+ return _dlfcn_hook->dlsym (handle, name, RETURN_ADDRESS (0));
+ else
+ return dlsym_implementation (handle, name, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlsym, dlsym, GLIBC_2_34);
+
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libdl, ___dlsym, dlsym, GLIBC_2_0);
# endif
-#endif
+
+#else /* !SHARED */
+/* Also used with _dlfcn_hook. */
+void *
+__dlsym (void *handle, const char *name, void *dl_caller)
+{
+ return dlsym_implementation (handle, name, dl_caller);
+}
+
+void *
+___dlsym (void *handle, const char *name)
+{
+ return __dlsym (handle, name, RETURN_ADDRESS (0));
+}
+weak_alias (___dlsym, dlsym)
+#endif /* !SHARED */
diff --git a/dlfcn/sdlsym.c b/dlfcn/sdlsym.c
deleted file mode 100644
index 0234f23..0000000
--- a/dlfcn/sdlsym.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "dlsym.c"
diff --git a/elf/Makefile b/elf/Makefile
index 834ec85..0ec736b 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -699,7 +699,6 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left))
test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
generated += $(addsuffix .so,$(strip $(modules-names)))
-$(objpfx)testobj1.so: $(libdl)
$(objpfx)testobj1_1.so: $(objpfx)testobj1.so $(libdl)
$(objpfx)testobj2.so: $(objpfx)testobj1.so $(libdl)
$(objpfx)testobj3.so: $(libdl)
diff --git a/elf/dl-sym.c b/elf/dl-sym.c
index dfd6169..b34cc2f 100644
--- a/elf/dl-sym.c
+++ b/elf/dl-sym.c
@@ -195,3 +195,4 @@ _dl_sym (void *handle, const char *name, void *who)
{
return do_sym (handle, name, who, NULL, DL_LOOKUP_RETURN_NEWEST);
}
+libc_hidden_def (_dl_sym)
diff --git a/include/dlfcn.h b/include/dlfcn.h
index a018144..2b174f8 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -84,6 +84,7 @@ extern void _dl_close_worker (struct link_map *map, bool force)
RTLD_NEXT). WHO is the calling function, for RTLD_NEXT. Returns
the symbol value, which may be NULL. */
extern void *_dl_sym (void *handle, const char *name, void *who);
+libc_hidden_proto (_dl_sym)
/* Look up version VERSION of symbol NAME in shared object HANDLE
(which may be RTLD_DEFAULT or RTLD_NEXT). WHO is the calling
@@ -135,8 +136,7 @@ extern void *__dlopen (const char *file, int mode DL_CALLER_DECL)
extern void *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
attribute_hidden;
extern int __dlclose (void *handle);
-extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL)
- attribute_hidden;
+extern void *__dlsym (void *handle, const char *name, void *dl_caller);
extern void *__dlvsym (void *handle, const char *name, const char *version
DL_CALLER_DECL)
attribute_hidden;
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index abf3f3c..02ba6c3 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -744,6 +744,7 @@ GLIBC_2.2.6 dl_iterate_phdr F
GLIBC_2.2.6 dladdr F
GLIBC_2.2.6 dlclose F
GLIBC_2.2.6 dlerror F
+GLIBC_2.2.6 dlsym F
GLIBC_2.2.6 dngettext F
GLIBC_2.2.6 dprintf F
GLIBC_2.2.6 drand48 F
@@ -2213,6 +2214,7 @@ GLIBC_2.34 _hurd_libc_proc_init F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
GLIBC_2.4 __confstr_chk F
diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist
index 5b9579b..e4fe2cc 100644
--- a/sysdeps/mach/hurd/i386/libdl.abilist
+++ b/sysdeps/mach/hurd/i386/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.2.6 dlopen F
-GLIBC_2.2.6 dlsym F
GLIBC_2.2.6 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index f912cea..9da6e86 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -721,6 +721,7 @@ GLIBC_2.17 dl_iterate_phdr F
GLIBC_2.17 dladdr F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
+GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
@@ -2348,6 +2349,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
index 731d6a1..d3822d8 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
-GLIBC_2.17 dlsym 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 c0dfb9b..1c9805a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -412,6 +412,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2440,6 +2441,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index c2a4c1f..1a83cb2 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -666,6 +666,7 @@ GLIBC_2.32 dl_iterate_phdr F
GLIBC_2.32 dladdr F
GLIBC_2.32 dlclose F
GLIBC_2.32 dlerror F
+GLIBC_2.32 dlsym F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
GLIBC_2.32 drand48 F
@@ -2107,6 +2108,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist
index 1c81830..74e8c10 100644
--- a/sysdeps/unix/sysv/linux/arc/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.32 dladdr1 F
GLIBC_2.32 dlinfo F
GLIBC_2.32 dlmopen F
GLIBC_2.32 dlopen F
-GLIBC_2.32 dlsym 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 db80c07..b49c187 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 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@@ -1023,6 +1024,7 @@ GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
index 69ffaf4..816b953 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlsym 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 3600075..7f49a49 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 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@@ -1020,6 +1021,7 @@ GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
index 69ffaf4..816b953 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlsym 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 d7beb5d..f060c2b 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -702,6 +702,7 @@ GLIBC_2.29 dl_iterate_phdr F
GLIBC_2.29 dladdr F
GLIBC_2.29 dlclose F
GLIBC_2.29 dlerror F
+GLIBC_2.29 dlsym F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
GLIBC_2.29 drand48 F
@@ -2291,6 +2292,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist
index 2c8047a..78edf27 100644
--- a/sysdeps/unix/sysv/linux/csky/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.29 dladdr1 F
GLIBC_2.29 dlinfo F
GLIBC_2.29 dlmopen F
GLIBC_2.29 dlopen F
-GLIBC_2.29 dlsym 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 59b0e42..bd4bbe5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1,6 +1,7 @@
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -2244,6 +2245,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index e33dd7d..c781b36 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -398,6 +398,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2428,6 +2429,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/i386/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 772b686..f0af999 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1,6 +1,7 @@
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -2280,6 +2281,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6ee0631..8b58481 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 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
@@ -1012,6 +1013,7 @@ GLIBC_2.4 dl_iterate_phdr F
GLIBC_2.4 dladdr F
GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
+GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
index 69ffaf4..816b953 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
-GLIBC_2.4 dlsym 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 9fb78fd..d4f2220 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -399,6 +399,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2371,6 +2372,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 6ba6e43..d443e72 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -723,6 +723,7 @@ GLIBC_2.18 dl_iterate_phdr F
GLIBC_2.18 dladdr F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
+GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
index 721e823..9f0b07e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
-GLIBC_2.18 dlsym 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 b3d1289..5d899de 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -723,6 +723,7 @@ GLIBC_2.18 dl_iterate_phdr F
GLIBC_2.18 dladdr F
GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
+GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
GLIBC_2.18 drand48 F
@@ -2339,6 +2340,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
index 721e823..9f0b07e 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
-GLIBC_2.18 dlsym 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 43fe36e..80f71d2 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -397,6 +397,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
index d8aab2a..e79fbf1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 699ad44..041df76 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -397,6 +397,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2334,6 +2335,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
index d8aab2a..e79fbf1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 3da887b..9d741ee 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -397,6 +397,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 8c34936..eb2b387 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -395,6 +395,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index e1bc50c..91e8dac 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -766,6 +766,7 @@ GLIBC_2.21 dl_iterate_phdr F
GLIBC_2.21 dladdr F
GLIBC_2.21 dlclose F
GLIBC_2.21 dlerror F
+GLIBC_2.21 dlsym F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
GLIBC_2.21 drand48 F
@@ -2381,6 +2382,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
index 835ee02..354d0b0 100644
--- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.21 dladdr1 F
GLIBC_2.21 dlinfo F
GLIBC_2.21 dlmopen F
GLIBC_2.21 dlopen F
-GLIBC_2.21 dlsym 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 8c3c1bb..3531cf9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -408,6 +408,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2398,6 +2399,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 018f9c0..b261013 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -408,6 +408,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2431,6 +2432,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 330f5fd..cb94570 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -761,6 +761,7 @@ GLIBC_2.3 dl_iterate_phdr F
GLIBC_2.3 dladdr F
GLIBC_2.3 dlclose F
GLIBC_2.3 dlerror F
+GLIBC_2.3 dlsym F
GLIBC_2.3 dngettext F
GLIBC_2.3 dprintf F
GLIBC_2.3 drand48 F
@@ -2245,6 +2246,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
index 4446495..5344e71 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.3 dlopen F
-GLIBC_2.3 dlsym F
GLIBC_2.3 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index b770ac8..43e579d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -809,6 +809,7 @@ GLIBC_2.17 dl_iterate_phdr F
GLIBC_2.17 dladdr F
GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
+GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
GLIBC_2.17 drand48 F
@@ -2544,6 +2545,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
index 731d6a1..d3822d8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
-GLIBC_2.17 dlsym 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 ea14f58..fe9784b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -659,6 +659,7 @@ GLIBC_2.33 dl_iterate_phdr F
GLIBC_2.33 dladdr F
GLIBC_2.33 dlclose F
GLIBC_2.33 dlerror F
+GLIBC_2.33 dlsym F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
GLIBC_2.33 drand48 F
@@ -2109,6 +2110,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
index b140aa0..12113b5 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.33 dladdr1 F
GLIBC_2.33 dlinfo F
GLIBC_2.33 dlmopen F
GLIBC_2.33 dlopen F
-GLIBC_2.33 dlsym 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 5c2a87a..241850b 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -700,6 +700,7 @@ GLIBC_2.27 dl_iterate_phdr F
GLIBC_2.27 dladdr F
GLIBC_2.27 dlclose F
GLIBC_2.27 dlerror F
+GLIBC_2.27 dlsym F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
GLIBC_2.27 drand48 F
@@ -2309,6 +2310,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
index 3536869..e42f9d9 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.27 dladdr1 F
GLIBC_2.27 dlinfo F
GLIBC_2.27 dlmopen F
GLIBC_2.27 dlopen F
-GLIBC_2.27 dlsym 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 937a3ba..72baa14 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -398,6 +398,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2396,6 +2397,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index cce8034..2e58f61 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -698,6 +698,7 @@ GLIBC_2.2 div F
GLIBC_2.2 dladdr F
GLIBC_2.2 dlclose F
GLIBC_2.2 dlerror F
+GLIBC_2.2 dlsym F
GLIBC_2.2 dngettext F
GLIBC_2.2 dprintf F
GLIBC_2.2 drand48 F
@@ -2282,6 +2283,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
index c995dec..97dcae5 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.2 dlopen F
-GLIBC_2.2 dlsym F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 28154a9..ab113c9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -5,6 +5,7 @@ GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -2251,6 +2252,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index d9a16e9..e733d13 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -5,6 +5,7 @@ GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -2248,6 +2249,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 98e6db3..0534abb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -400,6 +400,7 @@ GLIBC_2.0 div F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
GLIBC_2.0 drand48_r F
@@ -2389,6 +2390,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 479a1b3..89e1646 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -5,6 +5,7 @@ GCC_3.0 __register_frame_info_table_bases F
GLIBC_2.0 dladdr F
GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
+GLIBC_2.0 dlsym F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
GLIBC_2.10 accept4 F
@@ -2301,6 +2302,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
index 25cf9cd..9019e8d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dlopen F
-GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 3c6750b..842a613 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -688,6 +688,7 @@ GLIBC_2.2.5 dl_iterate_phdr F
GLIBC_2.2.5 dladdr F
GLIBC_2.2.5 dlclose F
GLIBC_2.2.5 dlerror F
+GLIBC_2.2.5 dlsym F
GLIBC_2.2.5 dngettext F
GLIBC_2.2.5 dprintf F
GLIBC_2.2.5 drand48 F
@@ -2260,6 +2261,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
index 28f001d..a434478 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.2.5 dlopen F
-GLIBC_2.2.5 dlsym F
GLIBC_2.2.5 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 0bfba9e..5e8c5a6 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -725,6 +725,7 @@ GLIBC_2.16 dl_iterate_phdr F
GLIBC_2.16 dladdr F
GLIBC_2.16 dlclose F
GLIBC_2.16 dlerror F
+GLIBC_2.16 dlsym F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
GLIBC_2.16 drand48 F
@@ -2363,6 +2364,7 @@ GLIBC_2.34 cnd_wait F
GLIBC_2.34 dladdr F
GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
+GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
index f61c4a5..7586a5f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
@@ -2,5 +2,4 @@ GLIBC_2.16 dladdr1 F
GLIBC_2.16 dlinfo F
GLIBC_2.16 dlmopen F
GLIBC_2.16 dlopen F
-GLIBC_2.16 dlsym F
GLIBC_2.16 dlvsym F