[09/16] dlfcn: Move dlmopen into libc
Checks
Commit Message
The symbol was moved using scripts/move-symbol-to-libc.py.
---
dlfcn/Makefile | 3 +-
dlfcn/Versions | 6 +-
dlfcn/dlfcn.c | 19 ++++-
dlfcn/dlmopen.c | 73 ++++++++++---------
dlfcn/sdlmopen.c | 1 -
include/dlfcn.h | 12 +--
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, 154 insertions(+), 73 deletions(-)
delete mode 100644 dlfcn/sdlmopen.c
Comments
On 31/05/2021 11:12, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
LGTM, thanks. I would move the compat symbols at dlfcn/dlfcn.c to
a dlfcn/libdl-compat.c, similar to what is done for libpthread.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> dlfcn/Makefile | 3 +-
> dlfcn/Versions | 6 +-
> dlfcn/dlfcn.c | 19 ++++-
> dlfcn/dlmopen.c | 73 ++++++++++---------
> dlfcn/sdlmopen.c | 1 -
> include/dlfcn.h | 12 +--
> 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, 154 insertions(+), 73 deletions(-)
> delete mode 100644 dlfcn/sdlmopen.c
>
> diff --git a/dlfcn/Makefile b/dlfcn/Makefile
> index b0f2e8a986..f7ffd242dc 100644
> --- a/dlfcn/Makefile
> +++ b/dlfcn/Makefile
> @@ -22,13 +22,14 @@ include ../Makeconfig
> headers := bits/dlfcn.h dlfcn.h
> extra-libs := libdl
> libdl-routines := dlopen dlvsym dladdr1 dlinfo \
> - dlmopen dlfcn
> + dlfcn
> routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
> elide-routines.os := $(routines)
> routines += \
> dladdr \
> dlclose \
> dlerror \
> + dlmopen \
> dlsym \
> libc_dlerror_result \
>
Ok.
> diff --git a/dlfcn/Versions b/dlfcn/Versions
> index 7d6b51a4e3..584035e203 100644
> --- a/dlfcn/Versions
> +++ b/dlfcn/Versions
> @@ -5,10 +5,14 @@ libc {
> dlerror;
> dlsym;
> }
> + GLIBC_2.3.4 {
> + dlmopen;
> + }
> GLIBC_2.34 {
> dladdr;
> dlclose;
> dlerror;
> + dlmopen;
> dlsym;
> }
> GLIBC_PRIVATE {
> @@ -28,6 +32,6 @@ libdl {
> dladdr1; dlinfo;
> }
> GLIBC_2.3.4 {
> - dlmopen;
> + __libdl_version_placeholder;
> }
> }
Ok.
> diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c
> index 8f85308b5f..90cdee0903 100644
> --- a/dlfcn/dlfcn.c
> +++ b/dlfcn/dlfcn.c
> @@ -17,7 +17,7 @@
> <https://www.gnu.org/licenses/>. */
>
> #include <dlfcn.h>
> -
> +#include <shlib-compat.h>
>
> int __dlfcn_argc attribute_hidden;
> char **__dlfcn_argv attribute_hidden;
> @@ -36,3 +36,20 @@ static void (*const init_array []) (int argc, char *argv[])
> {
> init
> };
> +
> +/* The remainder of this file is used to keep specific symbol versions
> + occupied, so that ld does not generate weak symbol version
> + definitions. */
> +
I think it should built only for SHARED.
> +void
> +attribute_compat_text_section
> +__attribute_used__
> +__libdl_version_placeholder_1 (void)
> +{
> +}
> +
> +#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,
> + __libdl_version_placeholder, GLIBC_2_3_4);
> +#endif
Shouldn't we do the same as nptl/libpthread-compat.c for the symbol
placeholders?
> diff --git a/dlfcn/dlmopen.c b/dlfcn/dlmopen.c
> index 6c6e98cd0e..ae42814bbf 100644
> --- a/dlfcn/dlmopen.c
> +++ b/dlfcn/dlmopen.c
> @@ -22,17 +22,7 @@
> #include <stddef.h>
> #include <unistd.h>
> #include <ldsodefs.h>
> -
> -#if !defined SHARED && IS_IN (libdl)
> -
> -void *
> -dlmopen (Lmid_t nsid, const char *file, int mode)
> -{
> - return __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
> -}
> -static_link_warning (dlmopen)
> -
> -#else
> +#include <shlib-compat.h>
>
> struct dlmopen_args
> {
> @@ -70,38 +60,55 @@ dlmopen_doit (void *a)
>
> args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN,
> args->caller,
> - args->nsid, __dlfcn_argc, __dlfcn_argv,
> - __environ);
> + args->nsid, __libc_argc, __libc_argv, __environ);
> }
>
> -
> -void *
> -__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
> +static void *
> +dlmopen_implementation (Lmid_t nsid, const char *file, int mode,
> + void *dl_caller)
> {
> -# ifdef SHARED
> - if (!rtld_active ())
> - return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
> -# endif
> -
> struct dlmopen_args args;
> args.nsid = nsid;
> args.file = file;
> args.mode = mode;
> - args.caller = DL_CALLER;
> + args.caller = dl_caller;
>
> -# ifdef SHARED
> return _dlerror_run (dlmopen_doit, &args) ? NULL : args.new;
> -# else
> - if (_dlerror_run (dlmopen_doit, &args))
> - return NULL;
> +}
>
> - __libc_register_dl_open_hook ((struct link_map *) args.new);
> - __libc_register_dlfcn_hook ((struct link_map *) args.new);
> +#ifdef SHARED
> +void *
> +___dlmopen (Lmid_t nsid, const char *file, int mode)
> +{
> + if (!rtld_active ())
> + return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
> + else
> + return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
> +}
> +versioned_symbol (libc, ___dlmopen, dlmopen, GLIBC_2_34);
>
> - return args.new;
> +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34)
> +compat_symbol (libdl, ___dlmopen, dlmopen, GLIBC_2_3_4);
> # endif
> +#else /* !SHARED */
> +/* Also used with _dlfcn_hook. */
> +void *
> +__dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller)
> +{
> + return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
> }
> -# ifdef SHARED
> -strong_alias (__dlmopen, dlmopen)
> -# endif
> -#endif
> +
> +void *
> +___dlmopen (Lmid_t nsid, const char *file, int mode)
> +{
> + struct link_map *l = __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
> + if (l != NULL)
> + {
> + __libc_register_dl_open_hook (l);
> + __libc_register_dlfcn_hook (l);
> + }
> + return l;
> +}
> +weak_alias (___dlmopen, dlmopen)
> +static_link_warning (dlmopen)
> +#endif /* !SHARED */
Ok.
> diff --git a/dlfcn/sdlmopen.c b/dlfcn/sdlmopen.c
> deleted file mode 100644
> index 9630c89a7f..0000000000
> --- a/dlfcn/sdlmopen.c
> +++ /dev/null
> @@ -1 +0,0 @@
> -#include "dlmopen.c"
Ok.
> diff --git a/include/dlfcn.h b/include/dlfcn.h
> index 2b174f8670..27309ab1dd 100644
> --- a/include/dlfcn.h
> +++ b/include/dlfcn.h
> @@ -15,15 +15,15 @@
>
> #define __LM_ID_CALLER -2
>
> +/* These variables are defined and initialized in the startup code. */
> +extern int __libc_argc attribute_hidden;
> +extern char **__libc_argv attribute_hidden;
> +
> #ifdef SHARED
> /* Locally stored program arguments. */
> extern int __dlfcn_argc attribute_hidden;
> extern char **__dlfcn_argv attribute_hidden;
> #else
> -/* These variables are defined and initialized in the startup code. */
> -extern int __libc_argc attribute_hidden;
> -extern char **__libc_argv attribute_hidden;
> -
> # define __dlfcn_argc __libc_argc
> # define __dlfcn_argv __libc_argv
> #endif
> @@ -133,8 +133,8 @@ libc_hidden_proto (_dlfcn_hook)
>
> 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 void *__dlmopen (Lmid_t nsid, const char *file, int mode,
> + void *dl_caller);
> extern int __dlclose (void *handle);
> extern void *__dlsym (void *handle, const char *name, void *dl_caller);
> extern void *__dlvsym (void *handle, const char *name, const char *version
Ok.
> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
> index 02ba6c3593..9827bea1e9 100644
> --- a/sysdeps/mach/hurd/i386/libc.abilist
> +++ b/sysdeps/mach/hurd/i386/libc.abilist
> @@ -2177,6 +2177,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 regexec F
> @@ -2214,6 +2215,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 dlmopen F
> GLIBC_2.34 dlsym 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 e4fe2ccab6..d2c315509d 100644
> --- a/sysdeps/mach/hurd/i386/libdl.abilist
> +++ b/sysdeps/mach/hurd/i386/libdl.abilist
> @@ -2,4 +2,4 @@ GLIBC_2.2.6 dlopen F
> GLIBC_2.2.6 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 9da6e869fa..9b0f917944 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 dlmopen F
> GLIBC_2.17 dlsym F
> GLIBC_2.17 dngettext F
> GLIBC_2.17 dprintf F
> @@ -2349,6 +2350,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 dlmopen F
> GLIBC_2.34 dlsym 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 d3822d83fc..391b72c100 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.17 dladdr1 F
> GLIBC_2.17 dlinfo F
> -GLIBC_2.17 dlmopen 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 1c9805a7f4..5b24169acf 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -2363,6 +2363,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2441,6 +2442,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 1a83cb2288..5e28b203cd 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 dlmopen F
> GLIBC_2.32 dlsym F
> GLIBC_2.32 dngettext F
> GLIBC_2.32 dprintf F
> @@ -2108,6 +2109,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 dlmopen F
> GLIBC_2.34 dlsym 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 74e8c10002..b23f34195f 100644
> --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.32 dladdr1 F
> GLIBC_2.32 dlinfo F
> -GLIBC_2.32 dlmopen 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 b49c187be7..ea14c3cd99 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 dlmopen F
> GLIBC_2.34 dlsym F
> GLIBC_2.34 execveat F
> GLIBC_2.34 mtx_destroy F
> @@ -1024,6 +1025,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 dlmopen F
> GLIBC_2.4 dlsym 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 816b953a69..22691633fb 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.4 dladdr1 F
> GLIBC_2.4 dlinfo F
> -GLIBC_2.4 dlmopen 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 7f49a4977f..5ff5eb7d04 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 dlmopen F
> GLIBC_2.34 dlsym F
> GLIBC_2.34 execveat F
> GLIBC_2.34 mtx_destroy F
> @@ -1021,6 +1022,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 dlmopen F
> GLIBC_2.4 dlsym 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 816b953a69..22691633fb 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.4 dladdr1 F
> GLIBC_2.4 dlinfo F
> -GLIBC_2.4 dlmopen 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 f060c2b0d5..8f36e5c844 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 dlmopen F
> GLIBC_2.29 dlsym F
> GLIBC_2.29 dngettext F
> GLIBC_2.29 dprintf F
> @@ -2292,6 +2293,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 dlmopen F
> GLIBC_2.34 dlsym 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 78edf27275..51061cb361 100644
> --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.29 dladdr1 F
> GLIBC_2.29 dlinfo F
> -GLIBC_2.29 dlmopen 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 bd4bbe548d..0302aeae56 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -2179,6 +2179,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np 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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 c781b36839..233096afbd 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -2360,6 +2360,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2429,6 +2430,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 f0af999f5d..704fe57ca2 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -2214,6 +2214,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2281,6 +2282,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 8b58481a8c..dc32b7561b 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 dlmopen F
> GLIBC_2.34 dlsym F
> GLIBC_2.34 execveat F
> GLIBC_2.34 mtx_destroy F
> @@ -1013,6 +1014,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 dlmopen F
> GLIBC_2.4 dlsym 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 816b953a69..22691633fb 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.4 dladdr1 F
> GLIBC_2.4 dlinfo F
> -GLIBC_2.4 dlmopen 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 d4f2220a6a..0ad41be521 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -2303,6 +2303,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2372,6 +2373,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 d443e72888..ea61742cf2 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 dlmopen F
> GLIBC_2.18 dlsym F
> GLIBC_2.18 dngettext F
> GLIBC_2.18 dprintf F
> @@ -2343,6 +2344,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 dlmopen F
> GLIBC_2.34 dlsym 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 9f0b07e50d..409e59cf21 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.18 dladdr1 F
> GLIBC_2.18 dlinfo F
> -GLIBC_2.18 dlmopen 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 5d899de9e1..3b09b44dd8 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 dlmopen F
> GLIBC_2.18 dlsym F
> GLIBC_2.18 dngettext F
> GLIBC_2.18 dprintf F
> @@ -2340,6 +2341,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 dlmopen F
> GLIBC_2.34 dlsym 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 9f0b07e50d..409e59cf21 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.18 dladdr1 F
> GLIBC_2.18 dlinfo F
> -GLIBC_2.18 dlmopen 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 80f71d2c9d..adde44be66 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2337,6 +2338,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 dlmopen F
> GLIBC_2.34 dlsym 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 e79fbf179b..04aca378ef 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F
> GLIBC_2.2 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 041df76409..a4c9a17e9e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -2269,6 +2269,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2335,6 +2336,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 dlmopen F
> GLIBC_2.34 dlsym 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 e79fbf179b..04aca378ef 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F
> GLIBC_2.2 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 9d741ee23b..214e0db752 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -2277,6 +2277,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2343,6 +2344,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 dlmopen F
> GLIBC_2.34 dlsym 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 eb2b387ce6..b09d4058a2 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2337,6 +2338,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 dlmopen F
> GLIBC_2.34 dlsym 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 91e8dac129..748f12c254 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 dlmopen F
> GLIBC_2.21 dlsym F
> GLIBC_2.21 dngettext F
> GLIBC_2.21 dprintf F
> @@ -2382,6 +2383,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 dlmopen F
> GLIBC_2.34 dlsym 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 354d0b0f1f..90aaa0b49b 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.21 dladdr1 F
> GLIBC_2.21 dlinfo F
> -GLIBC_2.21 dlmopen 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 3531cf9744..4134f7ed41 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -2314,6 +2314,7 @@ GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> GLIBC_2.3.4 _longjmp F
> GLIBC_2.3.4 _setjmp F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getcontext F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> @@ -2399,6 +2400,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 b2610134a9..43baf50dca 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -2347,6 +2347,7 @@ GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> GLIBC_2.3.4 _longjmp F
> GLIBC_2.3.4 _setjmp F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getcontext F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> @@ -2432,6 +2433,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 dlmopen F
> GLIBC_2.34 dlsym 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 cb9457053d..b3d27c2678 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -2162,6 +2162,7 @@ GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> GLIBC_2.3.4 _longjmp F
> GLIBC_2.3.4 _setjmp F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getcontext F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> @@ -2246,6 +2247,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 dlmopen F
> GLIBC_2.34 dlsym 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 5344e7141c..8e709e5bc4 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
> @@ -2,4 +2,4 @@ GLIBC_2.3 dlopen F
> GLIBC_2.3 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 43e579db72..60a6327f37 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 dlmopen F
> GLIBC_2.17 dlsym F
> GLIBC_2.17 dngettext F
> GLIBC_2.17 dprintf F
> @@ -2545,6 +2546,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 dlmopen F
> GLIBC_2.34 dlsym 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 d3822d83fc..391b72c100 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.17 dladdr1 F
> GLIBC_2.17 dlinfo F
> -GLIBC_2.17 dlmopen 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 fe9784bfe7..dccdf14b63 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 dlmopen F
> GLIBC_2.33 dlsym F
> GLIBC_2.33 dngettext F
> GLIBC_2.33 dprintf F
> @@ -2110,6 +2111,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 dlmopen F
> GLIBC_2.34 dlsym 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 12113b56ff..2710b64293 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.33 dladdr1 F
> GLIBC_2.33 dlinfo F
> -GLIBC_2.33 dlmopen 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 241850b78d..2acb8db062 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 dlmopen F
> GLIBC_2.27 dlsym F
> GLIBC_2.27 dngettext F
> GLIBC_2.27 dprintf F
> @@ -2310,6 +2311,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 dlmopen F
> GLIBC_2.34 dlsym 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 e42f9d97a8..c0d8307937 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.27 dladdr1 F
> GLIBC_2.27 dlinfo F
> -GLIBC_2.27 dlmopen 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 72baa14350..b2666bd723 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -2316,6 +2316,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2397,6 +2398,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 2e58f6151b..6ea55ebcdf 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -2205,6 +2205,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2283,6 +2284,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 dlmopen F
> GLIBC_2.34 dlsym 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 97dcae5bf1..45decb94f9 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
> @@ -2,4 +2,4 @@ GLIBC_2.2 dlopen F
> GLIBC_2.2 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 ab113c966d..7d3680520a 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2252,6 +2253,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 e733d13430..51a77c9553 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2249,6 +2250,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 0534abb5b4..45053a171a 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -2312,6 +2312,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2390,6 +2391,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 89e1646f02..30e7e6baa0 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -2236,6 +2236,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2302,6 +2303,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 dlmopen F
> GLIBC_2.34 dlsym 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 9019e8db65..795a5abd45 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
> @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
> GLIBC_2.1 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 842a613fdb..abaf3ee9de 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -2193,6 +2193,7 @@ GLIBC_2.3.4 __vprintf_chk F
> GLIBC_2.3.4 __vsnprintf_chk F
> GLIBC_2.3.4 __vsprintf_chk F
> GLIBC_2.3.4 __xpg_strerror_r F
> +GLIBC_2.3.4 dlmopen F
> GLIBC_2.3.4 getipv4sourcefilter F
> GLIBC_2.3.4 getsourcefilter F
> GLIBC_2.3.4 pthread_attr_getaffinity_np F
> @@ -2261,6 +2262,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 dlmopen F
> GLIBC_2.34 dlsym 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 a43447856f..91f878e859 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
> @@ -2,4 +2,4 @@ GLIBC_2.2.5 dlopen F
> GLIBC_2.2.5 dlvsym F
> GLIBC_2.3.3 dladdr1 F
> GLIBC_2.3.3 dlinfo F
> -GLIBC_2.3.4 dlmopen 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 5e8c5a64f2..b30feb4888 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 dlmopen F
> GLIBC_2.16 dlsym F
> GLIBC_2.16 dngettext F
> GLIBC_2.16 dprintf F
> @@ -2364,6 +2365,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 dlmopen F
> GLIBC_2.34 dlsym 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 7586a5f0b7..b37e9ff78c 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
> @@ -1,5 +1,4 @@
> GLIBC_2.16 dladdr1 F
> GLIBC_2.16 dlinfo F
> -GLIBC_2.16 dlmopen F
> GLIBC_2.16 dlopen F
> GLIBC_2.16 dlvsym F
>
Ok.
* Adhemerval Zanella:
> On 31/05/2021 11:12, Florian Weimer via Libc-alpha wrote:
>> The symbol was moved using scripts/move-symbol-to-libc.py.
>
> LGTM, thanks. I would move the compat symbols at dlfcn/dlfcn.c to
> a dlfcn/libdl-compat.c, similar to what is done for libpthread.
I'm going to rename the file in the final cleanup patch, where
dlfcn/dlfcn.c is otherwise empty.
Thanks,
Florian
On 02/06/2021 11:37, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> On 31/05/2021 11:12, Florian Weimer via Libc-alpha wrote:
>>> The symbol was moved using scripts/move-symbol-to-libc.py.
>>
>> LGTM, thanks. I would move the compat symbols at dlfcn/dlfcn.c to
>> a dlfcn/libdl-compat.c, similar to what is done for libpthread.
>
> I'm going to rename the file in the final cleanup patch, where
> dlfcn/dlfcn.c is otherwise empty.
>
Fair enough.
* Adhemerval Zanella:
>> +/* The remainder of this file is used to keep specific symbol versions
>> + occupied, so that ld does not generate weak symbol version
>> + definitions. */
>> +
>
> I think it should built only for SHARED.
That's handled externally in dlfcn/Makefile (libdl-shared-only-routines).
Thanks,
Florian
On 02/06/2021 14:49, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>>> +/* The remainder of this file is used to keep specific symbol versions
>>> + occupied, so that ld does not generate weak symbol version
>>> + definitions. */
>>> +
>>
>> I think it should built only for SHARED.
>
> That's handled externally in dlfcn/Makefile (libdl-shared-only-routines).
>
Ok, so you can ignore this suggestion then.
@@ -22,13 +22,14 @@ include ../Makeconfig
headers := bits/dlfcn.h dlfcn.h
extra-libs := libdl
libdl-routines := dlopen dlvsym dladdr1 dlinfo \
- dlmopen dlfcn
+ dlfcn
routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
elide-routines.os := $(routines)
routines += \
dladdr \
dlclose \
dlerror \
+ dlmopen \
dlsym \
libc_dlerror_result \
@@ -5,10 +5,14 @@ libc {
dlerror;
dlsym;
}
+ GLIBC_2.3.4 {
+ dlmopen;
+ }
GLIBC_2.34 {
dladdr;
dlclose;
dlerror;
+ dlmopen;
dlsym;
}
GLIBC_PRIVATE {
@@ -28,6 +32,6 @@ libdl {
dladdr1; dlinfo;
}
GLIBC_2.3.4 {
- dlmopen;
+ __libdl_version_placeholder;
}
}
@@ -17,7 +17,7 @@
<https://www.gnu.org/licenses/>. */
#include <dlfcn.h>
-
+#include <shlib-compat.h>
int __dlfcn_argc attribute_hidden;
char **__dlfcn_argv attribute_hidden;
@@ -36,3 +36,20 @@ static void (*const init_array []) (int argc, char *argv[])
{
init
};
+
+/* The remainder of this file is used to keep specific symbol versions
+ occupied, so that ld does not generate weak symbol version
+ definitions. */
+
+void
+attribute_compat_text_section
+__attribute_used__
+__libdl_version_placeholder_1 (void)
+{
+}
+
+#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,
+ __libdl_version_placeholder, GLIBC_2_3_4);
+#endif
@@ -22,17 +22,7 @@
#include <stddef.h>
#include <unistd.h>
#include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-void *
-dlmopen (Lmid_t nsid, const char *file, int mode)
-{
- return __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
-}
-static_link_warning (dlmopen)
-
-#else
+#include <shlib-compat.h>
struct dlmopen_args
{
@@ -70,38 +60,55 @@ dlmopen_doit (void *a)
args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN,
args->caller,
- args->nsid, __dlfcn_argc, __dlfcn_argv,
- __environ);
+ args->nsid, __libc_argc, __libc_argv, __environ);
}
-
-void *
-__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL)
+static void *
+dlmopen_implementation (Lmid_t nsid, const char *file, int mode,
+ void *dl_caller)
{
-# ifdef SHARED
- if (!rtld_active ())
- return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
-# endif
-
struct dlmopen_args args;
args.nsid = nsid;
args.file = file;
args.mode = mode;
- args.caller = DL_CALLER;
+ args.caller = dl_caller;
-# ifdef SHARED
return _dlerror_run (dlmopen_doit, &args) ? NULL : args.new;
-# else
- if (_dlerror_run (dlmopen_doit, &args))
- return NULL;
+}
- __libc_register_dl_open_hook ((struct link_map *) args.new);
- __libc_register_dlfcn_hook ((struct link_map *) args.new);
+#ifdef SHARED
+void *
+___dlmopen (Lmid_t nsid, const char *file, int mode)
+{
+ if (!rtld_active ())
+ return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
+ else
+ return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlmopen, dlmopen, GLIBC_2_34);
- return args.new;
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (libdl, ___dlmopen, dlmopen, GLIBC_2_3_4);
# endif
+#else /* !SHARED */
+/* Also used with _dlfcn_hook. */
+void *
+__dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller)
+{
+ return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0));
}
-# ifdef SHARED
-strong_alias (__dlmopen, dlmopen)
-# endif
-#endif
+
+void *
+___dlmopen (Lmid_t nsid, const char *file, int mode)
+{
+ struct link_map *l = __dlmopen (nsid, file, mode, RETURN_ADDRESS (0));
+ if (l != NULL)
+ {
+ __libc_register_dl_open_hook (l);
+ __libc_register_dlfcn_hook (l);
+ }
+ return l;
+}
+weak_alias (___dlmopen, dlmopen)
+static_link_warning (dlmopen)
+#endif /* !SHARED */
deleted file mode 100644
@@ -1 +0,0 @@
-#include "dlmopen.c"
@@ -15,15 +15,15 @@
#define __LM_ID_CALLER -2
+/* These variables are defined and initialized in the startup code. */
+extern int __libc_argc attribute_hidden;
+extern char **__libc_argv attribute_hidden;
+
#ifdef SHARED
/* Locally stored program arguments. */
extern int __dlfcn_argc attribute_hidden;
extern char **__dlfcn_argv attribute_hidden;
#else
-/* These variables are defined and initialized in the startup code. */
-extern int __libc_argc attribute_hidden;
-extern char **__libc_argv attribute_hidden;
-
# define __dlfcn_argc __libc_argc
# define __dlfcn_argv __libc_argv
#endif
@@ -133,8 +133,8 @@ libc_hidden_proto (_dlfcn_hook)
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 void *__dlmopen (Lmid_t nsid, const char *file, int mode,
+ void *dl_caller);
extern int __dlclose (void *handle);
extern void *__dlsym (void *handle, const char *name, void *dl_caller);
extern void *__dlvsym (void *handle, const char *name, const char *version
@@ -2177,6 +2177,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 regexec F
@@ -2214,6 +2215,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 timespec_getres F
@@ -2,4 +2,4 @@ GLIBC_2.2.6 dlopen F
GLIBC_2.2.6 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
@@ -2349,6 +2350,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
-GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
GLIBC_2.17 dlvsym F
@@ -2363,6 +2363,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2441,6 +2442,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.32 dlsym F
GLIBC_2.32 dngettext F
GLIBC_2.32 dprintf F
@@ -2108,6 +2109,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.32 dladdr1 F
GLIBC_2.32 dlinfo F
-GLIBC_2.32 dlmopen F
GLIBC_2.32 dlopen F
GLIBC_2.32 dlvsym F
@@ -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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1024,6 +1025,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 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
@@ -1,5 +1,4 @@
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
@@ -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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1021,6 +1022,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 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
@@ -1,5 +1,4 @@
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
@@ -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 dlmopen F
GLIBC_2.29 dlsym F
GLIBC_2.29 dngettext F
GLIBC_2.29 dprintf F
@@ -2292,6 +2293,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.29 dladdr1 F
GLIBC_2.29 dlinfo F
-GLIBC_2.29 dlmopen F
GLIBC_2.29 dlopen F
GLIBC_2.29 dlvsym F
@@ -2179,6 +2179,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np 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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2360,6 +2360,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2429,6 +2430,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2214,6 +2214,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2281,6 +2282,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1013,6 +1014,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 dlmopen F
GLIBC_2.4 dlsym F
GLIBC_2.4 dngettext F
GLIBC_2.4 dprintf F
@@ -1,5 +1,4 @@
GLIBC_2.4 dladdr1 F
GLIBC_2.4 dlinfo F
-GLIBC_2.4 dlmopen F
GLIBC_2.4 dlopen F
GLIBC_2.4 dlvsym F
@@ -2303,6 +2303,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2372,6 +2373,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
@@ -2343,6 +2344,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
-GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
GLIBC_2.18 dlvsym F
@@ -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 dlmopen F
GLIBC_2.18 dlsym F
GLIBC_2.18 dngettext F
GLIBC_2.18 dprintf F
@@ -2340,6 +2341,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.18 dladdr1 F
GLIBC_2.18 dlinfo F
-GLIBC_2.18 dlmopen F
GLIBC_2.18 dlopen F
GLIBC_2.18 dlvsym F
@@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2337,6 +2338,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2269,6 +2269,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2335,6 +2336,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2277,6 +2277,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2343,6 +2344,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2337,6 +2338,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -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 dlmopen F
GLIBC_2.21 dlsym F
GLIBC_2.21 dngettext F
GLIBC_2.21 dprintf F
@@ -2382,6 +2383,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.21 dladdr1 F
GLIBC_2.21 dlinfo F
-GLIBC_2.21 dlmopen F
GLIBC_2.21 dlopen F
GLIBC_2.21 dlvsym F
@@ -2314,6 +2314,7 @@ GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
@@ -2399,6 +2400,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2347,6 +2347,7 @@ GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
@@ -2432,6 +2433,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -2162,6 +2162,7 @@ GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
GLIBC_2.3.4 _longjmp F
GLIBC_2.3.4 _setjmp F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getcontext F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
@@ -2246,6 +2247,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -2,4 +2,4 @@ GLIBC_2.3 dlopen F
GLIBC_2.3 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.17 dlsym F
GLIBC_2.17 dngettext F
GLIBC_2.17 dprintf F
@@ -2545,6 +2546,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.17 dladdr1 F
GLIBC_2.17 dlinfo F
-GLIBC_2.17 dlmopen F
GLIBC_2.17 dlopen F
GLIBC_2.17 dlvsym F
@@ -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 dlmopen F
GLIBC_2.33 dlsym F
GLIBC_2.33 dngettext F
GLIBC_2.33 dprintf F
@@ -2110,6 +2111,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.33 dladdr1 F
GLIBC_2.33 dlinfo F
-GLIBC_2.33 dlmopen F
GLIBC_2.33 dlopen F
GLIBC_2.33 dlvsym F
@@ -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 dlmopen F
GLIBC_2.27 dlsym F
GLIBC_2.27 dngettext F
GLIBC_2.27 dprintf F
@@ -2310,6 +2311,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.27 dladdr1 F
GLIBC_2.27 dlinfo F
-GLIBC_2.27 dlmopen F
GLIBC_2.27 dlopen F
GLIBC_2.27 dlvsym F
@@ -2316,6 +2316,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2397,6 +2398,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2205,6 +2205,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2283,6 +2284,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -2,4 +2,4 @@ GLIBC_2.2 dlopen F
GLIBC_2.2 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2252,6 +2253,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2249,6 +2250,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2312,6 +2312,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2390,6 +2391,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2236,6 +2236,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2302,6 +2303,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F
GLIBC_2.1 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -2193,6 +2193,7 @@ GLIBC_2.3.4 __vprintf_chk F
GLIBC_2.3.4 __vsnprintf_chk F
GLIBC_2.3.4 __vsprintf_chk F
GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 dlmopen F
GLIBC_2.3.4 getipv4sourcefilter F
GLIBC_2.3.4 getsourcefilter F
GLIBC_2.3.4 pthread_attr_getaffinity_np F
@@ -2261,6 +2262,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -2,4 +2,4 @@ GLIBC_2.2.5 dlopen F
GLIBC_2.2.5 dlvsym F
GLIBC_2.3.3 dladdr1 F
GLIBC_2.3.3 dlinfo F
-GLIBC_2.3.4 dlmopen F
+GLIBC_2.3.4 __libdl_version_placeholder F
@@ -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 dlmopen F
GLIBC_2.16 dlsym F
GLIBC_2.16 dngettext F
GLIBC_2.16 dprintf F
@@ -2364,6 +2365,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 dlmopen F
GLIBC_2.34 dlsym F
GLIBC_2.34 execveat F
GLIBC_2.34 mtx_destroy F
@@ -1,5 +1,4 @@
GLIBC_2.16 dladdr1 F
GLIBC_2.16 dlinfo F
-GLIBC_2.16 dlmopen F
GLIBC_2.16 dlopen F
GLIBC_2.16 dlvsym F