public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Florian Weimer <fweimer@redhat.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH 09/16] dlfcn: Move dlmopen into libc
Date: Wed, 2 Jun 2021 11:19:05 -0300	[thread overview]
Message-ID: <477ae2c4-40ef-a74a-1150-6761b1c7099a@linaro.org> (raw)
In-Reply-To: <59a14fc491a58520936da8d69093abf9112a7ffe.1622469908.git.fweimer@redhat.com>



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.

  reply	other threads:[~2021-06-02 14:19 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-31 14:10 [PATCH v3 00/16] Move libdl " Florian Weimer
2021-05-31 14:11 ` [PATCH v2 01/16] stdio-common: Remove _IO_vfwscanf Florian Weimer
2021-05-31 19:42   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 02/16] Add missing symbols to Version files Florian Weimer
2021-06-01 19:12   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 03/16] scripts/versions.awk: Add local: * to all version nodes Florian Weimer
2021-06-01 19:23   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH v2 04/16] Add libc ABI extension kludge for baseline-violating libdl symbols Florian Weimer
2021-06-01 19:31   ` Adhemerval Zanella
2021-06-01 19:34     ` Florian Weimer
2021-06-01 19:38       ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 05/16] dlfcn: Move dlerror into libc Florian Weimer
2021-06-01 19:36   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 06/16] dlfcn: Move dlclose " Florian Weimer
2021-06-02 12:58   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 07/16] dlfcn: Move dladdr " Florian Weimer
2021-06-02 14:02   ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 08/16] dlfcn: Move dlsym " Florian Weimer
2021-06-02 14:12   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 09/16] dlfcn: Move dlmopen " Florian Weimer
2021-06-02 14:19   ` Adhemerval Zanella [this message]
2021-06-02 14:37     ` Florian Weimer
2021-06-02 14:43       ` Adhemerval Zanella
2021-06-02 17:49     ` Florian Weimer
2021-06-02 18:00       ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 10/16] dlfcn: Move dladdr1 " Florian Weimer
2021-06-02 14:29   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 11/16] dlfcn: Move dlinfo " Florian Weimer
2021-06-02 14:31   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 12/16] dlfcn: Move dlvsym " Florian Weimer
2021-06-02 14:34   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 13/16] dlfcn: Move dlopen " Florian Weimer
2021-06-02 14:54   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 14/16] dlfcn: Cleanups after -ldl is no longer required Florian Weimer
2021-06-02 18:08   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH v2 15/16] dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 Florian Weimer
2021-06-02 18:09   ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 16/16] dlfcn: Rework static dlopen hooks Florian Weimer
2021-06-02 19:18   ` Adhemerval Zanella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=477ae2c4-40ef-a74a-1150-6761b1c7099a@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).