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
commitd8cce17d2a8f572f26ed483246a505f45579ea0e (patch)
treeb47794d2d5ddd5e9fc0cd8cbec2c005ea0a19381
parentc9ff9cf66a7ae0617a2f39e752ca19c88c58f5b6 (diff)
downloadglibc-d8cce17d2a8f572f26ed483246a505f45579ea0e.zip
glibc-d8cce17d2a8f572f26ed483246a505f45579ea0e.tar.gz
glibc-d8cce17d2a8f572f26ed483246a505f45579ea0e.tar.bz2
dlfcn: Move dlclose into libc
The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r--dlfcn/Makefile3
-rw-r--r--dlfcn/Versions3
-rw-r--r--dlfcn/dlclose.c30
-rw-r--r--dlfcn/sdlclose.c1
-rw-r--r--include/dlfcn.h7
-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
68 files changed, 83 insertions, 57 deletions
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index b194762..4bdf524 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -21,11 +21,12 @@ include ../Makeconfig
headers := bits/dlfcn.h dlfcn.h
extra-libs := libdl
-libdl-routines := dlopen dlclose dlsym dlvsym dladdr dladdr1 dlinfo \
+libdl-routines := dlopen dlsym dlvsym dladdr dladdr1 dlinfo \
dlmopen dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
routines += \
+ dlclose \
dlerror \
libc_dlerror_result \
diff --git a/dlfcn/Versions b/dlfcn/Versions
index 76049e1..d00993a 100644
--- a/dlfcn/Versions
+++ b/dlfcn/Versions
@@ -1,8 +1,10 @@
libc {
GLIBC_2.0 {
+ dlclose;
dlerror;
}
GLIBC_2.34 {
+ dlclose;
dlerror;
}
GLIBC_PRIVATE {
@@ -14,7 +16,6 @@ libc {
libdl {
GLIBC_2.0 {
dladdr;
- dlclose;
dlopen;
dlsym;
}
diff --git a/dlfcn/dlclose.c b/dlfcn/dlclose.c
index 4bed5de..4d5d307 100644
--- a/dlfcn/dlclose.c
+++ b/dlfcn/dlclose.c
@@ -18,34 +18,20 @@
#include <dlfcn.h>
#include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-int
-dlclose (void *handle)
-{
- return __dlclose (handle);
-}
-
-#else
-
-static void
-dlclose_doit (void *handle)
-{
- GLRO(dl_close) (handle);
-}
+#include <shlib-compat.h>
int
__dlclose (void *handle)
{
-# ifdef SHARED
+#ifdef SHARED
if (!rtld_active ())
return _dlfcn_hook->dlclose (handle);
-# endif
+#endif
- return _dlerror_run (dlclose_doit, handle) ? -1 : 0;
+ return _dlerror_run (GLRO (dl_close), handle) ? -1 : 0;
}
-# ifdef SHARED
-strong_alias (__dlclose, dlclose)
-# endif
+versioned_symbol (libc, __dlclose, dlclose, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libdl, __dlclose, dlclose, GLIBC_2_0);
#endif
diff --git a/dlfcn/sdlclose.c b/dlfcn/sdlclose.c
deleted file mode 100644
index dc89b98..0000000
--- a/dlfcn/sdlclose.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "dlclose.c"
diff --git a/include/dlfcn.h b/include/dlfcn.h
index a92b2ae..352eb79 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -126,12 +126,15 @@ struct dlfcn_hook
extern struct dlfcn_hook *_dlfcn_hook;
libc_hidden_proto (_dlfcn_hook)
+/* Note: These prototypes are for initializing _dflcn_hook in static
+ libraries. Internal calls in glibc should use the __libc_dl*
+ functions defined in elf/dl-libc.c instead. */
+
extern void *__dlopen (const char *file, int mode DL_CALLER_DECL)
attribute_hidden;
extern void *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
attribute_hidden;
-extern int __dlclose (void *handle)
- attribute_hidden;
+extern int __dlclose (void *handle);
extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL)
attribute_hidden;
extern void *__dlvsym (void *handle, const char *name, const char *version
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index 4c62bf2..7e1b984 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -741,6 +741,7 @@ GLIBC_2.2.6 dirfd F
GLIBC_2.2.6 dirname F
GLIBC_2.2.6 div F
GLIBC_2.2.6 dl_iterate_phdr F
+GLIBC_2.2.6 dlclose F
GLIBC_2.2.6 dlerror F
GLIBC_2.2.6 dngettext F
GLIBC_2.2.6 dprintf F
@@ -2208,6 +2209,7 @@ GLIBC_2.33 stat64 F
GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 _hurd_libc_proc_init F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist
index 1073ce7..d267e7d 100644
--- a/sysdeps/mach/hurd/i386/libdl.abilist
+++ b/sysdeps/mach/hurd/i386/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.2.6 dladdr F
-GLIBC_2.2.6 dlclose F
GLIBC_2.2.6 dlopen F
GLIBC_2.2.6 dlsym F
GLIBC_2.2.6 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index cf1e160..8fdbe65 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -718,6 +718,7 @@ GLIBC_2.17 dirfd F
GLIBC_2.17 dirname F
GLIBC_2.17 div F
GLIBC_2.17 dl_iterate_phdr F
+GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
@@ -2343,6 +2344,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
index cb92fbf..201e1e7 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.17 dladdr F
GLIBC_2.17 dladdr1 F
-GLIBC_2.17 dlclose F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 9b303bf..c2bae6f 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -409,6 +409,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2435,6 +2436,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
index 62dfb30..a975af5 100644
--- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 804e109..bcc9352 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -663,6 +663,7 @@ GLIBC_2.32 dirfd F
GLIBC_2.32 dirname F
GLIBC_2.32 div F
GLIBC_2.32 dl_iterate_phdr F
+GLIBC_2.32 dlclose F
GLIBC_2.32 dlerror F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
@@ -2102,6 +2103,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist
index 3f7f805..7dc6847 100644
--- a/sysdeps/unix/sysv/linux/arc/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.32 dladdr F
GLIBC_2.32 dladdr1 F
-GLIBC_2.32 dlclose F
GLIBC_2.32 dlinfo F
GLIBC_2.32 dlmopen F
GLIBC_2.32 dlopen F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 1c766b3..d883be6 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -207,6 +207,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1018,6 +1019,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
+GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
index 1951f0a..0ddfa10 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
-GLIBC_2.4 dlclose F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 6e5898f..4dbb5e3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -204,6 +204,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1015,6 +1016,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
+GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
index 1951f0a..0ddfa10 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
-GLIBC_2.4 dlclose F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index cd740fb..0da7522 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -699,6 +699,7 @@ GLIBC_2.29 dirfd F
GLIBC_2.29 dirname F
GLIBC_2.29 div F
GLIBC_2.29 dl_iterate_phdr F
+GLIBC_2.29 dlclose F
GLIBC_2.29 dlerror F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
@@ -2286,6 +2287,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist
index 7477354..359b2d6 100644
--- a/sysdeps/unix/sysv/linux/csky/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.29 dladdr F
GLIBC_2.29 dladdr1 F
-GLIBC_2.29 dlclose F
GLIBC_2.29 dlinfo F
GLIBC_2.29 dlmopen F
GLIBC_2.29 dlopen F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 79ef245..53128aa 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1,3 +1,4 @@
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
@@ -2239,6 +2240,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
index 62dfb30..a975af5 100644
--- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index a5c5cb5..0731f99 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -395,6 +395,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2423,6 +2424,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist
index 62dfb30..a975af5 100644
--- a/sysdeps/unix/sysv/linux/i386/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 9d1e509..87acf0b 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1,3 +1,4 @@
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
@@ -2275,6 +2276,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
index 62dfb30..a975af5 100644
--- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
@@ -1,5 +1,4 @@
GLIBC_2.0 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 8cc0f04..ed482a6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -208,6 +208,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1007,6 +1008,7 @@ GLIBC_2.4 dirfd F
GLIBC_2.4 dirname F
GLIBC_2.4 div F
GLIBC_2.4 dl_iterate_phdr F
+GLIBC_2.4 dlclose F
GLIBC_2.4 dlerror F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
index 1951f0a..0ddfa10 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.4 dladdr F
GLIBC_2.4 dladdr1 F
-GLIBC_2.4 dlclose F
GLIBC_2.4 dlinfo F
GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 9df60dd..eff3f53 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -396,6 +396,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2366,6 +2367,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index a10b65e..aeda813 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F
GLIBC_2.18 dirname F
GLIBC_2.18 div F
GLIBC_2.18 dl_iterate_phdr F
+GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
@@ -2337,6 +2338,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
index 1bb6077..90dcb88 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.18 dladdr F
GLIBC_2.18 dladdr1 F
-GLIBC_2.18 dlclose F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index aa80f6d..cf8583a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F
GLIBC_2.18 dirname F
GLIBC_2.18 div F
GLIBC_2.18 dl_iterate_phdr F
+GLIBC_2.18 dlclose F
GLIBC_2.18 dlerror F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
@@ -2334,6 +2335,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
index 1bb6077..90dcb88 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.18 dladdr F
GLIBC_2.18 dladdr1 F
-GLIBC_2.18 dlclose F
GLIBC_2.18 dlinfo F
GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 969e1fe..72a1879 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2331,6 +2332,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
index 3b3e0c7..c35888c 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.2 dlopen F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 8281386..7f11692 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2329,6 +2330,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
index 3b3e0c7..c35888c 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.2 dlopen F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 6f9d2b0..af7ab63 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -394,6 +394,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2337,6 +2338,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index c75f9a8..17f64d7 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -392,6 +392,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2331,6 +2332,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 7c13372..7c0d6db 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -763,6 +763,7 @@ GLIBC_2.21 dirfd F
GLIBC_2.21 dirname F
GLIBC_2.21 div F
GLIBC_2.21 dl_iterate_phdr F
+GLIBC_2.21 dlclose F
GLIBC_2.21 dlerror F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
@@ -2376,6 +2377,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
index f47d113..2de1533 100644
--- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.21 dladdr F
GLIBC_2.21 dladdr1 F
-GLIBC_2.21 dlclose F
GLIBC_2.21 dlinfo F
GLIBC_2.21 dlmopen F
GLIBC_2.21 dlopen F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index a974a27..c3f9df2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -405,6 +405,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2393,6 +2394,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index ea3daaf..b122dce 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -405,6 +405,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2426,6 +2427,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 1204e12..c5cee14 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -758,6 +758,7 @@ GLIBC_2.3 dirfd F
GLIBC_2.3 dirname F
GLIBC_2.3 div F
GLIBC_2.3 dl_iterate_phdr F
+GLIBC_2.3 dlclose F
GLIBC_2.3 dlerror F
GLIBC_2.3 dngettext F
GLIBC_2.3 dprintf F
@@ -2240,6 +2241,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
index fdda336..183a4b1 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 dladdr F
-GLIBC_2.3 dlclose F
GLIBC_2.3 dlopen F
GLIBC_2.3 dlsym F
GLIBC_2.3 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 5835936..14a5373 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -806,6 +806,7 @@ GLIBC_2.17 dirfd F
GLIBC_2.17 dirname F
GLIBC_2.17 div F
GLIBC_2.17 dl_iterate_phdr F
+GLIBC_2.17 dlclose F
GLIBC_2.17 dlerror F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
@@ -2539,6 +2540,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
index cb92fbf..201e1e7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.17 dladdr F
GLIBC_2.17 dladdr1 F
-GLIBC_2.17 dlclose F
GLIBC_2.17 dlinfo F
GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 2717605..4076eb1 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -656,6 +656,7 @@ GLIBC_2.33 dirfd F
GLIBC_2.33 dirname F
GLIBC_2.33 div F
GLIBC_2.33 dl_iterate_phdr F
+GLIBC_2.33 dlclose F
GLIBC_2.33 dlerror F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
@@ -2104,6 +2105,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
index 8bb5ee8..40991df 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.33 dladdr F
GLIBC_2.33 dladdr1 F
-GLIBC_2.33 dlclose F
GLIBC_2.33 dlinfo F
GLIBC_2.33 dlmopen F
GLIBC_2.33 dlopen F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 6d5cfc1..b608d93 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -697,6 +697,7 @@ GLIBC_2.27 dirfd F
GLIBC_2.27 dirname F
GLIBC_2.27 div F
GLIBC_2.27 dl_iterate_phdr F
+GLIBC_2.27 dlclose F
GLIBC_2.27 dlerror F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
@@ -2304,6 +2305,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
index 044092c..6dea043 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.27 dladdr F
GLIBC_2.27 dladdr1 F
-GLIBC_2.27 dlclose F
GLIBC_2.27 dlinfo F
GLIBC_2.27 dlmopen F
GLIBC_2.27 dlopen F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 5050039..c5809de 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -395,6 +395,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2391,6 +2392,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 4baccfe..b118d56 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -695,6 +695,7 @@ GLIBC_2.2 difftime F
GLIBC_2.2 dirfd F
GLIBC_2.2 dirname F
GLIBC_2.2 div F
+GLIBC_2.2 dlclose F
GLIBC_2.2 dlerror F
GLIBC_2.2 dngettext F
GLIBC_2.2 dprintf F
@@ -2277,6 +2278,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
index 88c2b76..99bb237 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 dladdr F
-GLIBC_2.2 dlclose F
GLIBC_2.2 dlopen F
GLIBC_2.2 dlsym F
GLIBC_2.2 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a0b0006..e6748c9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
@@ -2246,6 +2247,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 12f05ed..fa0e795 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
@@ -2243,6 +2244,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 2a19e65..897b34d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -397,6 +397,7 @@ GLIBC_2.0 difftime F
GLIBC_2.0 dirfd F
GLIBC_2.0 dirname F
GLIBC_2.0 div F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.0 dprintf F
GLIBC_2.0 drand48 F
@@ -2384,6 +2385,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 99bf107..2d7e5a0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F
GCC_3.0 __deregister_frame_info_bases F
GCC_3.0 __register_frame_info_bases F
GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.0 dlclose F
GLIBC_2.0 dlerror F
GLIBC_2.10 __cxa_at_quick_exit F
GLIBC_2.10 __posix_getopt F
@@ -2296,6 +2297,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
index 62dfb30..a975af5 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 dladdr F
-GLIBC_2.0 dlclose F
GLIBC_2.0 dlopen F
GLIBC_2.0 dlsym F
GLIBC_2.1 dlopen F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index ec26f0c..62bded4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -685,6 +685,7 @@ GLIBC_2.2.5 dirfd F
GLIBC_2.2.5 dirname F
GLIBC_2.2.5 div F
GLIBC_2.2.5 dl_iterate_phdr F
+GLIBC_2.2.5 dlclose F
GLIBC_2.2.5 dlerror F
GLIBC_2.2.5 dngettext F
GLIBC_2.2.5 dprintf F
@@ -2255,6 +2256,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
index 0d933bc..f4f0482 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 dladdr F
-GLIBC_2.2.5 dlclose F
GLIBC_2.2.5 dlopen F
GLIBC_2.2.5 dlsym F
GLIBC_2.2.5 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index a74f962..f197d43 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -722,6 +722,7 @@ GLIBC_2.16 dirfd F
GLIBC_2.16 dirname F
GLIBC_2.16 div F
GLIBC_2.16 dl_iterate_phdr F
+GLIBC_2.16 dlclose F
GLIBC_2.16 dlerror F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
@@ -2358,6 +2359,7 @@ GLIBC_2.34 cnd_init F
GLIBC_2.34 cnd_signal F
GLIBC_2.34 cnd_timedwait F
GLIBC_2.34 cnd_wait F
+GLIBC_2.34 dlclose F
GLIBC_2.34 dlerror F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
index 0360ee4..a29fef9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
@@ -1,6 +1,5 @@
GLIBC_2.16 dladdr F
GLIBC_2.16 dladdr1 F
-GLIBC_2.16 dlclose F
GLIBC_2.16 dlinfo F
GLIBC_2.16 dlmopen F
GLIBC_2.16 dlopen F