[09/16] dlfcn: Move dlmopen into libc

Message ID 59a14fc491a58520936da8d69093abf9112a7ffe.1622469908.git.fweimer@redhat.com
State New
Headers show
Series
  • Move libdl into libc
Related show

Commit Message

naohirot--- via Libc-alpha May 31, 2021, 2:12 p.m.
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

-- 
2.31.1

Comments

naohirot--- via Libc-alpha June 2, 2021, 2:19 p.m. | #1
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.
naohirot--- via Libc-alpha June 2, 2021, 2:37 p.m. | #2
* 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
naohirot--- via Libc-alpha June 2, 2021, 2:43 p.m. | #3
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.
naohirot--- via Libc-alpha June 2, 2021, 5:49 p.m. | #4
* 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
naohirot--- via Libc-alpha June 2, 2021, 6 p.m. | #5
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.

Patch

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 \
 
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;
   }
 }
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.  */
+
+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
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 */
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"
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
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