[12/16] dlfcn: Move dlvsym into libc

Message ID d74770be23f61d79a41c62c633371be7e0b3c29f.1622469909.git.fweimer@redhat.com
State New
Headers show
Series
  • Move libdl into libc
Related show

Commit Message

Fangrui Song 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/dlvsym.c                                | 66 +++++++++++--------
 dlfcn/sdlvsym.c                               |  1 -
 elf/dl-sym.c                                  |  2 +-
 include/dlfcn.h                               |  6 +-
 sysdeps/mach/hurd/i386/libc.abilist           |  2 +
 sysdeps/mach/hurd/i386/libdl.abilist          |  1 -
 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   |  1 -
 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    |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/i386/libdl.abilist    |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 +
 sysdeps/unix/sysv/linux/ia64/libdl.abilist    |  1 -
 .../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 |  1 -
 .../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 |  1 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +
 .../unix/sysv/linux/mips/mips64/libdl.abilist |  1 -
 .../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     |  1 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  2 +
 .../linux/powerpc/powerpc64/be/libc.abilist   |  2 +
 .../linux/powerpc/powerpc64/be/libdl.abilist  |  1 -
 .../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     |  1 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 +
 .../sysv/linux/s390/s390-64/libdl.abilist     |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/sh/be/libdl.abilist   |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +
 sysdeps/unix/sysv/linux/sh/le/libdl.abilist   |  1 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  2 +
 .../sysv/linux/sparc/sparc32/libdl.abilist    |  1 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  2 +
 .../sysv/linux/sparc/sparc64/libdl.abilist    |  1 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 +
 .../unix/sysv/linux/x86_64/64/libdl.abilist   |  1 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 +
 .../unix/sysv/linux/x86_64/x32/libdl.abilist  |  1 -
 69 files changed, 115 insertions(+), 65 deletions(-)
 delete mode 100644 dlfcn/sdlvsym.c

-- 
2.31.1

Comments

Fangrui Song via Libc-alpha June 2, 2021, 2:34 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.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


> ---

>  dlfcn/Makefile                                |  3 +-

>  dlfcn/Versions                                |  6 +-

>  dlfcn/dlvsym.c                                | 66 +++++++++++--------

>  dlfcn/sdlvsym.c                               |  1 -

>  elf/dl-sym.c                                  |  2 +-

>  include/dlfcn.h                               |  6 +-

>  sysdeps/mach/hurd/i386/libc.abilist           |  2 +

>  sysdeps/mach/hurd/i386/libdl.abilist          |  1 -

>  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   |  1 -

>  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    |  1 -

>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  2 +

>  sysdeps/unix/sysv/linux/i386/libdl.abilist    |  1 -

>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 +

>  sysdeps/unix/sysv/linux/ia64/libdl.abilist    |  1 -

>  .../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 |  1 -

>  .../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 |  1 -

>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +

>  .../unix/sysv/linux/mips/mips64/libdl.abilist |  1 -

>  .../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     |  1 -

>  .../powerpc/powerpc32/nofpu/libc.abilist      |  2 +

>  .../linux/powerpc/powerpc64/be/libc.abilist   |  2 +

>  .../linux/powerpc/powerpc64/be/libdl.abilist  |  1 -

>  .../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     |  1 -

>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 +

>  .../sysv/linux/s390/s390-64/libdl.abilist     |  1 -

>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +

>  sysdeps/unix/sysv/linux/sh/be/libdl.abilist   |  1 -

>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +

>  sysdeps/unix/sysv/linux/sh/le/libdl.abilist   |  1 -

>  .../sysv/linux/sparc/sparc32/libc.abilist     |  2 +

>  .../sysv/linux/sparc/sparc32/libdl.abilist    |  1 -

>  .../sysv/linux/sparc/sparc64/libc.abilist     |  2 +

>  .../sysv/linux/sparc/sparc64/libdl.abilist    |  1 -

>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 +

>  .../unix/sysv/linux/x86_64/64/libdl.abilist   |  1 -

>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 +

>  .../unix/sysv/linux/x86_64/x32/libdl.abilist  |  1 -

>  69 files changed, 115 insertions(+), 65 deletions(-)

>  delete mode 100644 dlfcn/sdlvsym.c

> 

> diff --git a/dlfcn/Makefile b/dlfcn/Makefile

> index c65cdc2e2b..08d92f85fc 100644

> --- a/dlfcn/Makefile

> +++ b/dlfcn/Makefile

> @@ -21,7 +21,7 @@ include ../Makeconfig

>  

>  headers		:= bits/dlfcn.h dlfcn.h

>  extra-libs	:= libdl

> -libdl-routines	:= dlopen dlvsym \

> +libdl-routines	:= dlopen \

>  		   dlfcn

>  routines	:= $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))

>  elide-routines.os := $(routines)

> @@ -33,6 +33,7 @@ routines += \

>    dlinfo \

>    dlmopen \

>    dlsym \

> +  dlvsym \

>    libc_dlerror_result \

>  

>  extra-libs-others := libdl


Ok.

> diff --git a/dlfcn/Versions b/dlfcn/Versions

> index ca9a3e5591..3c4fa2742e 100644

> --- a/dlfcn/Versions

> +++ b/dlfcn/Versions

> @@ -5,6 +5,9 @@ libc {

>      dlerror;

>      dlsym;

>    }

> +  GLIBC_2.1 {

> +    dlvsym;

> +  }

>    GLIBC_2.3.3 {

>      dladdr1;

>      dlinfo;

> @@ -20,6 +23,7 @@ libc {

>      dlinfo;

>      dlmopen;

>      dlsym;

> +    dlvsym;

>    }

>    GLIBC_PRIVATE {

>      __libc_dlerror_result;

> @@ -32,7 +36,7 @@ libdl {

>      dlopen;

>    }

>    GLIBC_2.1 {

> -    dlopen; dlvsym;

> +    dlopen;

>    }

>    GLIBC_2.3.3 {

>      __libdl_version_placeholder;


Ok.

> diff --git a/dlfcn/dlvsym.c b/dlfcn/dlvsym.c

> index 519e706ea1..de6b340647 100644

> --- a/dlfcn/dlvsym.c

> +++ b/dlfcn/dlvsym.c

> @@ -17,20 +17,9 @@

>     <https://www.gnu.org/licenses/>.  */

>  

>  #include <dlfcn.h>

> -#include <stddef.h>

> -

>  #include <ldsodefs.h>

> -

> -#if !defined SHARED && IS_IN (libdl)

> -

> -void *

> -weak_function

> -dlvsym (void *handle, const char *name, const char *version_str)

> -{

> -  return __dlvsym (handle, name, version_str, RETURN_ADDRESS (0));

> -}

> -

> -#else

> +#include <shlib-compat.h>

> +#include <stddef.h>

>  

>  struct dlvsym_args

>  {

> @@ -44,29 +33,23 @@ struct dlvsym_args

>    void *sym;

>  };

>  

> -

>  static void

>  dlvsym_doit (void *a)

>  {

> -  struct dlvsym_args *args = (struct dlvsym_args *)a;

> +  struct dlvsym_args *args = (struct dlvsym_args *) a;

>  

>    args->sym = _dl_vsym (args->handle, args->name, args->version, args->who);

>  }

>  

> -void *

> -__dlvsym (void *handle, const char *name, const char *version_str

> -	  DL_CALLER_DECL)

> +static void *

> +dlvsym_implementation (void *handle, const char *name, const char *version,

> +		       void *dl_caller)

>  {

> -# ifdef SHARED

> -  if (!rtld_active ())

> -    return _dlfcn_hook->dlvsym (handle, name, version_str, DL_CALLER);

> -# endif

> -

>    struct dlvsym_args args;

> +  args.who = dl_caller;

>    args.handle = handle;

>    args.name = name;

> -  args.who = DL_CALLER;

> -  args.version = version_str;

> +  args.version = version;

>  

>    /* Protect against concurrent loads and unloads.  */

>    __rtld_lock_lock_recursive (GL(dl_load_lock));

> @@ -77,7 +60,34 @@ __dlvsym (void *handle, const char *name, const char *version_str

>  

>    return result;

>  }

> -# ifdef SHARED

> -weak_alias (__dlvsym, dlvsym)

> +

> +#ifdef SHARED

> +void *

> +___dlvsym (void *handle, const char *name, const char *version)

> +{

> +  if (!rtld_active ())

> +    return _dlfcn_hook->dlvsym (handle, name, version, RETURN_ADDRESS (0));

> +  else

> +    return dlvsym_implementation (handle, name, version, RETURN_ADDRESS (0));

> +}

> +versioned_symbol (libc, ___dlvsym, dlvsym, GLIBC_2_34);

> +

> +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34)

> +compat_symbol (libdl, ___dlvsym, dlvsym, GLIBC_2_1);

>  # endif

> -#endif

> +

> +#else /* !SHARED */

> +/* Also used with _dlfcn_hook.  */

> +void *

> +__dlvsym (void *handle, const char *name, const char *version, void *dl_caller)

> +{

> +  return dlvsym_implementation (handle, name, version, dl_caller);

> +}

> +

> +void *

> +___dlvsym (void *handle, const char *name, const char *version)

> +{

> +  return __dlvsym (handle, name, version, RETURN_ADDRESS (0));

> +}

> +weak_alias (___dlvsym, dlvsym)

> +#endif /* !SHARED */


Ok.

> diff --git a/dlfcn/sdlvsym.c b/dlfcn/sdlvsym.c

> deleted file mode 100644

> index ec4286058c..0000000000

> --- a/dlfcn/sdlvsym.c

> +++ /dev/null

> @@ -1 +0,0 @@

> -#include "dlvsym.c"

> diff --git a/elf/dl-sym.c b/elf/dl-sym.c

> index b34cc2f8eb..fa0cce678f 100644

> --- a/elf/dl-sym.c

> +++ b/elf/dl-sym.c

> @@ -188,7 +188,7 @@ _dl_vsym (void *handle, const char *name, const char *version, void *who)

>  

>    return do_sym (handle, name, who, &vers, 0);

>  }

> -

> +libc_hidden_def (_dl_vsym)

>  

>  void *

>  _dl_sym (void *handle, const char *name, void *who)


Ok.

> diff --git a/include/dlfcn.h b/include/dlfcn.h

> index e898c17792..04ea4f6e2d 100644

> --- a/include/dlfcn.h

> +++ b/include/dlfcn.h

> @@ -92,6 +92,7 @@ libc_hidden_proto (_dl_sym)

>     NULL.  */

>  extern void *_dl_vsym (void *handle, const char *name, const char *version,

>  		       void *who);

> +libc_hidden_proto (_dl_vsym)

>  

>  /* Helper function for <dlfcn.h> functions.  Runs the OPERATE function via

>     _dl_catch_error.  Returns zero for success, nonzero for failure; and

> @@ -137,9 +138,8 @@ 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

> -		       DL_CALLER_DECL)

> -     attribute_hidden;

> +extern void *__dlvsym (void *handle, const char *name, const char *version,

> +		       void *dl_caller);

>  extern int __dladdr (const void *address, Dl_info *info);

>  extern int __dladdr1 (const void *address, Dl_info *info,

>  		      void **extra_info, int flags);


Ok.

> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist

> index f4adfc6e5f..f0bd076005 100644

> --- a/sysdeps/mach/hurd/i386/libc.abilist

> +++ b/sysdeps/mach/hurd/i386/libc.abilist

> @@ -745,6 +745,7 @@ GLIBC_2.2.6 dladdr F

>  GLIBC_2.2.6 dlclose F

>  GLIBC_2.2.6 dlerror F

>  GLIBC_2.2.6 dlsym F

> +GLIBC_2.2.6 dlvsym F

>  GLIBC_2.2.6 dngettext F

>  GLIBC_2.2.6 dprintf F

>  GLIBC_2.2.6 drand48 F

> @@ -2221,6 +2222,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 timespec_getres F

>  GLIBC_2.4 __confstr_chk F

> diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist

> index 3a60902d2a..cd906eff75 100644

> --- a/sysdeps/mach/hurd/i386/libdl.abilist

> +++ b/sysdeps/mach/hurd/i386/libdl.abilist

> @@ -1,4 +1,3 @@

>  GLIBC_2.2.6 dlopen F

> -GLIBC_2.2.6 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 a962e2966c..deebf612dc 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> @@ -725,6 +725,7 @@ GLIBC_2.17 dlerror F

>  GLIBC_2.17 dlinfo F

>  GLIBC_2.17 dlmopen F

>  GLIBC_2.17 dlsym F

> +GLIBC_2.17 dlvsym F

>  GLIBC_2.17 dngettext F

>  GLIBC_2.17 dprintf F

>  GLIBC_2.17 drand48 F

> @@ -2356,6 +2357,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist

> index 840db53856..1fabf08e3c 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist

> @@ -1,2 +1 @@

>  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 b4cab19c7e..a4f79e54d8 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> @@ -1524,6 +1524,7 @@ GLIBC_2.1 cbc_crypt F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2448,6 +2449,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 4e5440b6ae..ad8180833a 100644

> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist

> @@ -670,6 +670,7 @@ GLIBC_2.32 dlerror F

>  GLIBC_2.32 dlinfo F

>  GLIBC_2.32 dlmopen F

>  GLIBC_2.32 dlsym F

> +GLIBC_2.32 dlvsym F

>  GLIBC_2.32 dngettext F

>  GLIBC_2.32 dprintf F

>  GLIBC_2.32 drand48 F

> @@ -2115,6 +2116,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist

> index dc71de1647..aef59c3c3c 100644

> --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist

> @@ -1,2 +1 @@

>  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 45fc27223e..a9eae3c20e 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> @@ -214,6 +214,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> @@ -1031,6 +1032,7 @@ GLIBC_2.4 dlerror F

>  GLIBC_2.4 dlinfo F

>  GLIBC_2.4 dlmopen F

>  GLIBC_2.4 dlsym F

> +GLIBC_2.4 dlvsym F

>  GLIBC_2.4 dngettext F

>  GLIBC_2.4 dprintf F

>  GLIBC_2.4 drand48 F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist

> index 763c28ead6..f6280a2f0d 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist

> @@ -1,2 +1 @@

>  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 bfe4d7ede0..c93d59d01b 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> @@ -211,6 +211,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> @@ -1028,6 +1029,7 @@ GLIBC_2.4 dlerror F

>  GLIBC_2.4 dlinfo F

>  GLIBC_2.4 dlmopen F

>  GLIBC_2.4 dlsym F

> +GLIBC_2.4 dlvsym F

>  GLIBC_2.4 dngettext F

>  GLIBC_2.4 dprintf F

>  GLIBC_2.4 drand48 F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist

> index 763c28ead6..f6280a2f0d 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist

> @@ -1,2 +1 @@

>  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 f773509d7f..226187a2e2 100644

> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist

> @@ -706,6 +706,7 @@ GLIBC_2.29 dlerror F

>  GLIBC_2.29 dlinfo F

>  GLIBC_2.29 dlmopen F

>  GLIBC_2.29 dlsym F

> +GLIBC_2.29 dlvsym F

>  GLIBC_2.29 dngettext F

>  GLIBC_2.29 dprintf F

>  GLIBC_2.29 drand48 F

> @@ -2299,6 +2300,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist

> index a143948a4c..323b9117b2 100644

> --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist

> @@ -1,2 +1 @@

>  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 3050951d35..1b41bfd3d7 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> @@ -2,6 +2,7 @@ GLIBC_2.0 dladdr F

>  GLIBC_2.0 dlclose F

>  GLIBC_2.0 dlerror F

>  GLIBC_2.0 dlsym F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

>  GLIBC_2.10 __posix_getopt F

>  GLIBC_2.10 accept4 F

> @@ -2252,6 +2253,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 0be412ab6b..2c0369a482 100644

> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist

> @@ -1498,6 +1498,7 @@ GLIBC_2.1 chown F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2436,6 +2437,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 ad6bfa0d2a..852bba8bf8 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> @@ -2,6 +2,7 @@ GLIBC_2.0 dladdr F

>  GLIBC_2.0 dlclose F

>  GLIBC_2.0 dlerror F

>  GLIBC_2.0 dlsym F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

>  GLIBC_2.10 __posix_getopt F

>  GLIBC_2.10 accept4 F

> @@ -2288,6 +2289,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 bb62cc7a4f..c55e7622c7 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> @@ -215,6 +215,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> @@ -1020,6 +1021,7 @@ GLIBC_2.4 dlerror F

>  GLIBC_2.4 dlinfo F

>  GLIBC_2.4 dlmopen F

>  GLIBC_2.4 dlsym F

> +GLIBC_2.4 dlvsym F

>  GLIBC_2.4 dngettext F

>  GLIBC_2.4 dprintf F

>  GLIBC_2.4 drand48 F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist

> index 763c28ead6..f6280a2f0d 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist

> @@ -1,2 +1 @@

>  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 c313cfbc58..b97c4a53f5 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> @@ -1495,6 +1495,7 @@ GLIBC_2.1 cbc_crypt F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2379,6 +2380,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 e841dcad21..f5a906f7c5 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> @@ -727,6 +727,7 @@ GLIBC_2.18 dlerror F

>  GLIBC_2.18 dlinfo F

>  GLIBC_2.18 dlmopen F

>  GLIBC_2.18 dlsym F

> +GLIBC_2.18 dlvsym F

>  GLIBC_2.18 dngettext F

>  GLIBC_2.18 dprintf F

>  GLIBC_2.18 drand48 F

> @@ -2350,6 +2351,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist

> index 327d8ad43b..f8d2fc1b69 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist

> @@ -1,2 +1 @@

>  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 3d3e3d7fdb..81ccb4e029 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> @@ -727,6 +727,7 @@ GLIBC_2.18 dlerror F

>  GLIBC_2.18 dlinfo F

>  GLIBC_2.18 dlmopen F

>  GLIBC_2.18 dlsym F

> +GLIBC_2.18 dlvsym F

>  GLIBC_2.18 dngettext F

>  GLIBC_2.18 dprintf F

>  GLIBC_2.18 drand48 F

> @@ -2347,6 +2348,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist

> index 327d8ad43b..f8d2fc1b69 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist

> @@ -1,2 +1 @@

>  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 9fe3e79ab1..e4e1b90620 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> @@ -1680,6 +1680,7 @@ GLIBC_2.2 clock_settime F

>  GLIBC_2.2 creat64 F

>  GLIBC_2.2 dcngettext F

>  GLIBC_2.2 des_setparity F

> +GLIBC_2.2 dlvsym F

>  GLIBC_2.2 dngettext F

>  GLIBC_2.2 ecb_crypt F

>  GLIBC_2.2 endutxent F

> @@ -2344,6 +2345,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist

> index d10be39aa7..69d0dae81c 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.2 dlopen F

> -GLIBC_2.2 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 db04a7d0a7..458475399a 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> @@ -1678,6 +1678,7 @@ GLIBC_2.2 clock_settime F

>  GLIBC_2.2 creat64 F

>  GLIBC_2.2 dcngettext F

>  GLIBC_2.2 des_setparity F

> +GLIBC_2.2 dlvsym F

>  GLIBC_2.2 dngettext F

>  GLIBC_2.2 ecb_crypt F

>  GLIBC_2.2 endutxent F

> @@ -2342,6 +2343,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist

> index d10be39aa7..69d0dae81c 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.2 dlopen F

> -GLIBC_2.2 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 50b4c0cc57..c79ce36927 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> @@ -1679,6 +1679,7 @@ GLIBC_2.2 clock_settime F

>  GLIBC_2.2 creat64 F

>  GLIBC_2.2 dcngettext F

>  GLIBC_2.2 des_setparity F

> +GLIBC_2.2 dlvsym F

>  GLIBC_2.2 dngettext F

>  GLIBC_2.2 ecb_crypt F

>  GLIBC_2.2 endutxent F

> @@ -2350,6 +2351,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> index 5d4e18b7f7..4f642a64f8 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> @@ -1675,6 +1675,7 @@ GLIBC_2.2 clock_settime F

>  GLIBC_2.2 creat64 F

>  GLIBC_2.2 dcngettext F

>  GLIBC_2.2 des_setparity F

> +GLIBC_2.2 dlvsym F

>  GLIBC_2.2 dngettext F

>  GLIBC_2.2 ecb_crypt F

>  GLIBC_2.2 endutxent F

> @@ -2344,6 +2345,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> index ef4d89fe97..403a109f8f 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> @@ -770,6 +770,7 @@ GLIBC_2.21 dlerror F

>  GLIBC_2.21 dlinfo F

>  GLIBC_2.21 dlmopen F

>  GLIBC_2.21 dlsym F

> +GLIBC_2.21 dlvsym F

>  GLIBC_2.21 dngettext F

>  GLIBC_2.21 dprintf F

>  GLIBC_2.21 drand48 F

> @@ -2389,6 +2390,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist

> index 3cecf1ebac..b83daf801c 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist

> @@ -1,2 +1 @@

>  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 32661d6341..a51daed07a 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> @@ -1503,6 +1503,7 @@ GLIBC_2.1 chown F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2406,6 +2407,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 e12df18b1c..54b6d41c6d 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> @@ -1503,6 +1503,7 @@ GLIBC_2.1 chown F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2439,6 +2440,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> index 3262e1b917..be60141560 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> @@ -762,6 +762,7 @@ GLIBC_2.3 dladdr F

>  GLIBC_2.3 dlclose F

>  GLIBC_2.3 dlerror F

>  GLIBC_2.3 dlsym F

> +GLIBC_2.3 dlvsym F

>  GLIBC_2.3 dngettext F

>  GLIBC_2.3 dprintf F

>  GLIBC_2.3 drand48 F

> @@ -2253,6 +2254,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist

> index ffbe9e75a3..c32fb65365 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist

> @@ -1,4 +1,3 @@

>  GLIBC_2.3 dlopen F

> -GLIBC_2.3 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 d166c4872c..4157f78a90 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> @@ -813,6 +813,7 @@ GLIBC_2.17 dlerror F

>  GLIBC_2.17 dlinfo F

>  GLIBC_2.17 dlmopen F

>  GLIBC_2.17 dlsym F

> +GLIBC_2.17 dlvsym F

>  GLIBC_2.17 dngettext F

>  GLIBC_2.17 dprintf F

>  GLIBC_2.17 drand48 F

> @@ -2552,6 +2553,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist

> index 840db53856..1fabf08e3c 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist

> @@ -1,2 +1 @@

>  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 5ff4d22e1b..367e46b2e2 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> @@ -663,6 +663,7 @@ GLIBC_2.33 dlerror F

>  GLIBC_2.33 dlinfo F

>  GLIBC_2.33 dlmopen F

>  GLIBC_2.33 dlsym F

> +GLIBC_2.33 dlvsym F

>  GLIBC_2.33 dngettext F

>  GLIBC_2.33 dprintf F

>  GLIBC_2.33 drand48 F

> @@ -2117,6 +2118,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist

> index 13eefd7db9..7014e0e280 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist

> @@ -1,2 +1 @@

>  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 caa8247be3..aec46ac3c0 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> @@ -704,6 +704,7 @@ GLIBC_2.27 dlerror F

>  GLIBC_2.27 dlinfo F

>  GLIBC_2.27 dlmopen F

>  GLIBC_2.27 dlsym F

> +GLIBC_2.27 dlvsym F

>  GLIBC_2.27 dngettext F

>  GLIBC_2.27 dprintf F

>  GLIBC_2.27 drand48 F

> @@ -2317,6 +2318,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist

> index c4b5356c4a..d4d85e298f 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist

> @@ -1,2 +1 @@

>  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 9d4562eeb7..5dbfc50d2a 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> @@ -1495,6 +1495,7 @@ GLIBC_2.1 chown F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2404,6 +2405,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 14f9ab9a0e..c0d3d8362c 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> @@ -699,6 +699,7 @@ GLIBC_2.2 dladdr F

>  GLIBC_2.2 dlclose F

>  GLIBC_2.2 dlerror F

>  GLIBC_2.2 dlsym F

> +GLIBC_2.2 dlvsym F

>  GLIBC_2.2 dngettext F

>  GLIBC_2.2 dprintf F

>  GLIBC_2.2 drand48 F

> @@ -2290,6 +2291,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist

> index 5df5e71ebf..59fedff595 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist

> @@ -1,4 +1,3 @@

>  GLIBC_2.2 dlopen F

> -GLIBC_2.2 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 9646c17111..1928e8a1fb 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F

>  GLIBC_2.0 dlclose F

>  GLIBC_2.0 dlerror F

>  GLIBC_2.0 dlsym F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

>  GLIBC_2.10 __posix_getopt F

>  GLIBC_2.10 accept4 F

> @@ -2259,6 +2260,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 84643a9d87..738628c7b6 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F

>  GLIBC_2.0 dlclose F

>  GLIBC_2.0 dlerror F

>  GLIBC_2.0 dlsym F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

>  GLIBC_2.10 __posix_getopt F

>  GLIBC_2.10 accept4 F

> @@ -2256,6 +2257,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 dc3bbcde02..c7e29c5d31 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> @@ -1496,6 +1496,7 @@ GLIBC_2.1 cbc_crypt F

>  GLIBC_2.1 clntunix_create F

>  GLIBC_2.1 creat64 F

>  GLIBC_2.1 des_setparity F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.1 ecb_crypt F

>  GLIBC_2.1 endutxent F

>  GLIBC_2.1 fattach F

> @@ -2397,6 +2398,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 1170aa5c51..e5c7a92b38 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F

>  GLIBC_2.0 dlclose F

>  GLIBC_2.0 dlerror F

>  GLIBC_2.0 dlsym F

> +GLIBC_2.1 dlvsym F

>  GLIBC_2.10 __cxa_at_quick_exit F

>  GLIBC_2.10 __posix_getopt F

>  GLIBC_2.10 accept4 F

> @@ -2309,6 +2310,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist

> index 4722aad8b2..8500feca8a 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist

> @@ -1,5 +1,4 @@

>  GLIBC_2.0 dlopen F

>  GLIBC_2.1 dlopen F

> -GLIBC_2.1 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 6aa4eedff4..7e35c50406 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> @@ -689,6 +689,7 @@ GLIBC_2.2.5 dladdr F

>  GLIBC_2.2.5 dlclose F

>  GLIBC_2.2.5 dlerror F

>  GLIBC_2.2.5 dlsym F

> +GLIBC_2.2.5 dlvsym F

>  GLIBC_2.2.5 dngettext F

>  GLIBC_2.2.5 dprintf F

>  GLIBC_2.2.5 drand48 F

> @@ -2268,6 +2269,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist

> index 00764915cf..7a82c097cf 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist

> @@ -1,4 +1,3 @@

>  GLIBC_2.2.5 dlopen F

> -GLIBC_2.2.5 dlvsym F

>  GLIBC_2.3.3 __libdl_version_placeholder 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 dab4cbc677..4d1dd2b3a2 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> @@ -729,6 +729,7 @@ GLIBC_2.16 dlerror F

>  GLIBC_2.16 dlinfo F

>  GLIBC_2.16 dlmopen F

>  GLIBC_2.16 dlsym F

> +GLIBC_2.16 dlvsym F

>  GLIBC_2.16 dngettext F

>  GLIBC_2.16 dprintf F

>  GLIBC_2.16 drand48 F

> @@ -2371,6 +2372,7 @@ GLIBC_2.34 dlerror F

>  GLIBC_2.34 dlinfo F

>  GLIBC_2.34 dlmopen F

>  GLIBC_2.34 dlsym F

> +GLIBC_2.34 dlvsym F

>  GLIBC_2.34 execveat F

>  GLIBC_2.34 mtx_destroy F

>  GLIBC_2.34 mtx_init F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist

> index 645f87e571..92d5e7d128 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist

> @@ -1,2 +1 @@

>  GLIBC_2.16 dlopen F

> -GLIBC_2.16 dlvsym F

> 


Ok.

Patch

diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index c65cdc2e2b..08d92f85fc 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -21,7 +21,7 @@  include ../Makeconfig
 
 headers		:= bits/dlfcn.h dlfcn.h
 extra-libs	:= libdl
-libdl-routines	:= dlopen dlvsym \
+libdl-routines	:= dlopen \
 		   dlfcn
 routines	:= $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines)))
 elide-routines.os := $(routines)
@@ -33,6 +33,7 @@  routines += \
   dlinfo \
   dlmopen \
   dlsym \
+  dlvsym \
   libc_dlerror_result \
 
 extra-libs-others := libdl
diff --git a/dlfcn/Versions b/dlfcn/Versions
index ca9a3e5591..3c4fa2742e 100644
--- a/dlfcn/Versions
+++ b/dlfcn/Versions
@@ -5,6 +5,9 @@  libc {
     dlerror;
     dlsym;
   }
+  GLIBC_2.1 {
+    dlvsym;
+  }
   GLIBC_2.3.3 {
     dladdr1;
     dlinfo;
@@ -20,6 +23,7 @@  libc {
     dlinfo;
     dlmopen;
     dlsym;
+    dlvsym;
   }
   GLIBC_PRIVATE {
     __libc_dlerror_result;
@@ -32,7 +36,7 @@  libdl {
     dlopen;
   }
   GLIBC_2.1 {
-    dlopen; dlvsym;
+    dlopen;
   }
   GLIBC_2.3.3 {
     __libdl_version_placeholder;
diff --git a/dlfcn/dlvsym.c b/dlfcn/dlvsym.c
index 519e706ea1..de6b340647 100644
--- a/dlfcn/dlvsym.c
+++ b/dlfcn/dlvsym.c
@@ -17,20 +17,9 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <dlfcn.h>
-#include <stddef.h>
-
 #include <ldsodefs.h>
-
-#if !defined SHARED && IS_IN (libdl)
-
-void *
-weak_function
-dlvsym (void *handle, const char *name, const char *version_str)
-{
-  return __dlvsym (handle, name, version_str, RETURN_ADDRESS (0));
-}
-
-#else
+#include <shlib-compat.h>
+#include <stddef.h>
 
 struct dlvsym_args
 {
@@ -44,29 +33,23 @@  struct dlvsym_args
   void *sym;
 };
 
-
 static void
 dlvsym_doit (void *a)
 {
-  struct dlvsym_args *args = (struct dlvsym_args *)a;
+  struct dlvsym_args *args = (struct dlvsym_args *) a;
 
   args->sym = _dl_vsym (args->handle, args->name, args->version, args->who);
 }
 
-void *
-__dlvsym (void *handle, const char *name, const char *version_str
-	  DL_CALLER_DECL)
+static void *
+dlvsym_implementation (void *handle, const char *name, const char *version,
+		       void *dl_caller)
 {
-# ifdef SHARED
-  if (!rtld_active ())
-    return _dlfcn_hook->dlvsym (handle, name, version_str, DL_CALLER);
-# endif
-
   struct dlvsym_args args;
+  args.who = dl_caller;
   args.handle = handle;
   args.name = name;
-  args.who = DL_CALLER;
-  args.version = version_str;
+  args.version = version;
 
   /* Protect against concurrent loads and unloads.  */
   __rtld_lock_lock_recursive (GL(dl_load_lock));
@@ -77,7 +60,34 @@  __dlvsym (void *handle, const char *name, const char *version_str
 
   return result;
 }
-# ifdef SHARED
-weak_alias (__dlvsym, dlvsym)
+
+#ifdef SHARED
+void *
+___dlvsym (void *handle, const char *name, const char *version)
+{
+  if (!rtld_active ())
+    return _dlfcn_hook->dlvsym (handle, name, version, RETURN_ADDRESS (0));
+  else
+    return dlvsym_implementation (handle, name, version, RETURN_ADDRESS (0));
+}
+versioned_symbol (libc, ___dlvsym, dlvsym, GLIBC_2_34);
+
+# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34)
+compat_symbol (libdl, ___dlvsym, dlvsym, GLIBC_2_1);
 # endif
-#endif
+
+#else /* !SHARED */
+/* Also used with _dlfcn_hook.  */
+void *
+__dlvsym (void *handle, const char *name, const char *version, void *dl_caller)
+{
+  return dlvsym_implementation (handle, name, version, dl_caller);
+}
+
+void *
+___dlvsym (void *handle, const char *name, const char *version)
+{
+  return __dlvsym (handle, name, version, RETURN_ADDRESS (0));
+}
+weak_alias (___dlvsym, dlvsym)
+#endif /* !SHARED */
diff --git a/dlfcn/sdlvsym.c b/dlfcn/sdlvsym.c
deleted file mode 100644
index ec4286058c..0000000000
--- a/dlfcn/sdlvsym.c
+++ /dev/null
@@ -1 +0,0 @@ 
-#include "dlvsym.c"
diff --git a/elf/dl-sym.c b/elf/dl-sym.c
index b34cc2f8eb..fa0cce678f 100644
--- a/elf/dl-sym.c
+++ b/elf/dl-sym.c
@@ -188,7 +188,7 @@  _dl_vsym (void *handle, const char *name, const char *version, void *who)
 
   return do_sym (handle, name, who, &vers, 0);
 }
-
+libc_hidden_def (_dl_vsym)
 
 void *
 _dl_sym (void *handle, const char *name, void *who)
diff --git a/include/dlfcn.h b/include/dlfcn.h
index e898c17792..04ea4f6e2d 100644
--- a/include/dlfcn.h
+++ b/include/dlfcn.h
@@ -92,6 +92,7 @@  libc_hidden_proto (_dl_sym)
    NULL.  */
 extern void *_dl_vsym (void *handle, const char *name, const char *version,
 		       void *who);
+libc_hidden_proto (_dl_vsym)
 
 /* Helper function for <dlfcn.h> functions.  Runs the OPERATE function via
    _dl_catch_error.  Returns zero for success, nonzero for failure; and
@@ -137,9 +138,8 @@  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
-		       DL_CALLER_DECL)
-     attribute_hidden;
+extern void *__dlvsym (void *handle, const char *name, const char *version,
+		       void *dl_caller);
 extern int __dladdr (const void *address, Dl_info *info);
 extern int __dladdr1 (const void *address, Dl_info *info,
 		      void **extra_info, int flags);
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index f4adfc6e5f..f0bd076005 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -745,6 +745,7 @@  GLIBC_2.2.6 dladdr F
 GLIBC_2.2.6 dlclose F
 GLIBC_2.2.6 dlerror F
 GLIBC_2.2.6 dlsym F
+GLIBC_2.2.6 dlvsym F
 GLIBC_2.2.6 dngettext F
 GLIBC_2.2.6 dprintf F
 GLIBC_2.2.6 drand48 F
@@ -2221,6 +2222,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.4 __confstr_chk F
diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist
index 3a60902d2a..cd906eff75 100644
--- a/sysdeps/mach/hurd/i386/libdl.abilist
+++ b/sysdeps/mach/hurd/i386/libdl.abilist
@@ -1,4 +1,3 @@ 
 GLIBC_2.2.6 dlopen F
-GLIBC_2.2.6 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 a962e2966c..deebf612dc 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -725,6 +725,7 @@  GLIBC_2.17 dlerror F
 GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlmopen F
 GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
 GLIBC_2.17 dngettext F
 GLIBC_2.17 dprintf F
 GLIBC_2.17 drand48 F
@@ -2356,6 +2357,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
index 840db53856..1fabf08e3c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -1,2 +1 @@ 
 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 b4cab19c7e..a4f79e54d8 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1524,6 +1524,7 @@  GLIBC_2.1 cbc_crypt F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2448,6 +2449,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 4e5440b6ae..ad8180833a 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -670,6 +670,7 @@  GLIBC_2.32 dlerror F
 GLIBC_2.32 dlinfo F
 GLIBC_2.32 dlmopen F
 GLIBC_2.32 dlsym F
+GLIBC_2.32 dlvsym F
 GLIBC_2.32 dngettext F
 GLIBC_2.32 dprintf F
 GLIBC_2.32 drand48 F
@@ -2115,6 +2116,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist
index dc71de1647..aef59c3c3c 100644
--- a/sysdeps/unix/sysv/linux/arc/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist
@@ -1,2 +1 @@ 
 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 45fc27223e..a9eae3c20e 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -214,6 +214,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
@@ -1031,6 +1032,7 @@  GLIBC_2.4 dlerror F
 GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
 GLIBC_2.4 dngettext F
 GLIBC_2.4 dprintf F
 GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
index 763c28ead6..f6280a2f0d 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist
@@ -1,2 +1 @@ 
 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 bfe4d7ede0..c93d59d01b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -211,6 +211,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
@@ -1028,6 +1029,7 @@  GLIBC_2.4 dlerror F
 GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
 GLIBC_2.4 dngettext F
 GLIBC_2.4 dprintf F
 GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
index 763c28ead6..f6280a2f0d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist
@@ -1,2 +1 @@ 
 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 f773509d7f..226187a2e2 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -706,6 +706,7 @@  GLIBC_2.29 dlerror F
 GLIBC_2.29 dlinfo F
 GLIBC_2.29 dlmopen F
 GLIBC_2.29 dlsym F
+GLIBC_2.29 dlvsym F
 GLIBC_2.29 dngettext F
 GLIBC_2.29 dprintf F
 GLIBC_2.29 drand48 F
@@ -2299,6 +2300,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist
index a143948a4c..323b9117b2 100644
--- a/sysdeps/unix/sysv/linux/csky/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist
@@ -1,2 +1 @@ 
 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 3050951d35..1b41bfd3d7 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2,6 +2,7 @@  GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
 GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
 GLIBC_2.10 __posix_getopt F
 GLIBC_2.10 accept4 F
@@ -2252,6 +2253,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 0be412ab6b..2c0369a482 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1498,6 +1498,7 @@  GLIBC_2.1 chown F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2436,6 +2437,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/i386/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 ad6bfa0d2a..852bba8bf8 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2,6 +2,7 @@  GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
 GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
 GLIBC_2.10 __posix_getopt F
 GLIBC_2.10 accept4 F
@@ -2288,6 +2289,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 bb62cc7a4f..c55e7622c7 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -215,6 +215,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
@@ -1020,6 +1021,7 @@  GLIBC_2.4 dlerror F
 GLIBC_2.4 dlinfo F
 GLIBC_2.4 dlmopen F
 GLIBC_2.4 dlsym F
+GLIBC_2.4 dlvsym F
 GLIBC_2.4 dngettext F
 GLIBC_2.4 dprintf F
 GLIBC_2.4 drand48 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
index 763c28ead6..f6280a2f0d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist
@@ -1,2 +1 @@ 
 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 c313cfbc58..b97c4a53f5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1495,6 +1495,7 @@  GLIBC_2.1 cbc_crypt F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2379,6 +2380,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 e841dcad21..f5a906f7c5 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -727,6 +727,7 @@  GLIBC_2.18 dlerror F
 GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlmopen F
 GLIBC_2.18 dlsym F
+GLIBC_2.18 dlvsym F
 GLIBC_2.18 dngettext F
 GLIBC_2.18 dprintf F
 GLIBC_2.18 drand48 F
@@ -2350,6 +2351,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
index 327d8ad43b..f8d2fc1b69 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist
@@ -1,2 +1 @@ 
 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 3d3e3d7fdb..81ccb4e029 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -727,6 +727,7 @@  GLIBC_2.18 dlerror F
 GLIBC_2.18 dlinfo F
 GLIBC_2.18 dlmopen F
 GLIBC_2.18 dlsym F
+GLIBC_2.18 dlvsym F
 GLIBC_2.18 dngettext F
 GLIBC_2.18 dprintf F
 GLIBC_2.18 drand48 F
@@ -2347,6 +2348,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
index 327d8ad43b..f8d2fc1b69 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist
@@ -1,2 +1 @@ 
 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 9fe3e79ab1..e4e1b90620 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1680,6 +1680,7 @@  GLIBC_2.2 clock_settime F
 GLIBC_2.2 creat64 F
 GLIBC_2.2 dcngettext F
 GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
 GLIBC_2.2 dngettext F
 GLIBC_2.2 ecb_crypt F
 GLIBC_2.2 endutxent F
@@ -2344,6 +2345,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
index d10be39aa7..69d0dae81c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 db04a7d0a7..458475399a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1678,6 +1678,7 @@  GLIBC_2.2 clock_settime F
 GLIBC_2.2 creat64 F
 GLIBC_2.2 dcngettext F
 GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
 GLIBC_2.2 dngettext F
 GLIBC_2.2 ecb_crypt F
 GLIBC_2.2 endutxent F
@@ -2342,6 +2343,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
index d10be39aa7..69d0dae81c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 50b4c0cc57..c79ce36927 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1679,6 +1679,7 @@  GLIBC_2.2 clock_settime F
 GLIBC_2.2 creat64 F
 GLIBC_2.2 dcngettext F
 GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
 GLIBC_2.2 dngettext F
 GLIBC_2.2 ecb_crypt F
 GLIBC_2.2 endutxent F
@@ -2350,6 +2351,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 5d4e18b7f7..4f642a64f8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1675,6 +1675,7 @@  GLIBC_2.2 clock_settime F
 GLIBC_2.2 creat64 F
 GLIBC_2.2 dcngettext F
 GLIBC_2.2 des_setparity F
+GLIBC_2.2 dlvsym F
 GLIBC_2.2 dngettext F
 GLIBC_2.2 ecb_crypt F
 GLIBC_2.2 endutxent F
@@ -2344,6 +2345,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index ef4d89fe97..403a109f8f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -770,6 +770,7 @@  GLIBC_2.21 dlerror F
 GLIBC_2.21 dlinfo F
 GLIBC_2.21 dlmopen F
 GLIBC_2.21 dlsym F
+GLIBC_2.21 dlvsym F
 GLIBC_2.21 dngettext F
 GLIBC_2.21 dprintf F
 GLIBC_2.21 drand48 F
@@ -2389,6 +2390,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
index 3cecf1ebac..b83daf801c 100644
--- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist
@@ -1,2 +1 @@ 
 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 32661d6341..a51daed07a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1503,6 +1503,7 @@  GLIBC_2.1 chown F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2406,6 +2407,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 e12df18b1c..54b6d41c6d 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1503,6 +1503,7 @@  GLIBC_2.1 chown F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2439,6 +2440,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 3262e1b917..be60141560 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -762,6 +762,7 @@  GLIBC_2.3 dladdr F
 GLIBC_2.3 dlclose F
 GLIBC_2.3 dlerror F
 GLIBC_2.3 dlsym F
+GLIBC_2.3 dlvsym F
 GLIBC_2.3 dngettext F
 GLIBC_2.3 dprintf F
 GLIBC_2.3 drand48 F
@@ -2253,6 +2254,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
index ffbe9e75a3..c32fb65365 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist
@@ -1,4 +1,3 @@ 
 GLIBC_2.3 dlopen F
-GLIBC_2.3 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 d166c4872c..4157f78a90 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -813,6 +813,7 @@  GLIBC_2.17 dlerror F
 GLIBC_2.17 dlinfo F
 GLIBC_2.17 dlmopen F
 GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
 GLIBC_2.17 dngettext F
 GLIBC_2.17 dprintf F
 GLIBC_2.17 drand48 F
@@ -2552,6 +2553,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
index 840db53856..1fabf08e3c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist
@@ -1,2 +1 @@ 
 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 5ff4d22e1b..367e46b2e2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -663,6 +663,7 @@  GLIBC_2.33 dlerror F
 GLIBC_2.33 dlinfo F
 GLIBC_2.33 dlmopen F
 GLIBC_2.33 dlsym F
+GLIBC_2.33 dlvsym F
 GLIBC_2.33 dngettext F
 GLIBC_2.33 dprintf F
 GLIBC_2.33 drand48 F
@@ -2117,6 +2118,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
index 13eefd7db9..7014e0e280 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist
@@ -1,2 +1 @@ 
 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 caa8247be3..aec46ac3c0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -704,6 +704,7 @@  GLIBC_2.27 dlerror F
 GLIBC_2.27 dlinfo F
 GLIBC_2.27 dlmopen F
 GLIBC_2.27 dlsym F
+GLIBC_2.27 dlvsym F
 GLIBC_2.27 dngettext F
 GLIBC_2.27 dprintf F
 GLIBC_2.27 drand48 F
@@ -2317,6 +2318,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
index c4b5356c4a..d4d85e298f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist
@@ -1,2 +1 @@ 
 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 9d4562eeb7..5dbfc50d2a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1495,6 +1495,7 @@  GLIBC_2.1 chown F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2404,6 +2405,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 14f9ab9a0e..c0d3d8362c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -699,6 +699,7 @@  GLIBC_2.2 dladdr F
 GLIBC_2.2 dlclose F
 GLIBC_2.2 dlerror F
 GLIBC_2.2 dlsym F
+GLIBC_2.2 dlvsym F
 GLIBC_2.2 dngettext F
 GLIBC_2.2 dprintf F
 GLIBC_2.2 drand48 F
@@ -2290,6 +2291,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
index 5df5e71ebf..59fedff595 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist
@@ -1,4 +1,3 @@ 
 GLIBC_2.2 dlopen F
-GLIBC_2.2 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 9646c17111..1928e8a1fb 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -6,6 +6,7 @@  GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
 GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
 GLIBC_2.10 __posix_getopt F
 GLIBC_2.10 accept4 F
@@ -2259,6 +2260,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 84643a9d87..738628c7b6 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -6,6 +6,7 @@  GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
 GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
 GLIBC_2.10 __posix_getopt F
 GLIBC_2.10 accept4 F
@@ -2256,6 +2257,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 dc3bbcde02..c7e29c5d31 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1496,6 +1496,7 @@  GLIBC_2.1 cbc_crypt F
 GLIBC_2.1 clntunix_create F
 GLIBC_2.1 creat64 F
 GLIBC_2.1 des_setparity F
+GLIBC_2.1 dlvsym F
 GLIBC_2.1 ecb_crypt F
 GLIBC_2.1 endutxent F
 GLIBC_2.1 fattach F
@@ -2397,6 +2398,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 1170aa5c51..e5c7a92b38 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -6,6 +6,7 @@  GLIBC_2.0 dladdr F
 GLIBC_2.0 dlclose F
 GLIBC_2.0 dlerror F
 GLIBC_2.0 dlsym F
+GLIBC_2.1 dlvsym F
 GLIBC_2.10 __cxa_at_quick_exit F
 GLIBC_2.10 __posix_getopt F
 GLIBC_2.10 accept4 F
@@ -2309,6 +2310,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
index 4722aad8b2..8500feca8a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
@@ -1,5 +1,4 @@ 
 GLIBC_2.0 dlopen F
 GLIBC_2.1 dlopen F
-GLIBC_2.1 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 6aa4eedff4..7e35c50406 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -689,6 +689,7 @@  GLIBC_2.2.5 dladdr F
 GLIBC_2.2.5 dlclose F
 GLIBC_2.2.5 dlerror F
 GLIBC_2.2.5 dlsym F
+GLIBC_2.2.5 dlvsym F
 GLIBC_2.2.5 dngettext F
 GLIBC_2.2.5 dprintf F
 GLIBC_2.2.5 drand48 F
@@ -2268,6 +2269,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
index 00764915cf..7a82c097cf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist
@@ -1,4 +1,3 @@ 
 GLIBC_2.2.5 dlopen F
-GLIBC_2.2.5 dlvsym F
 GLIBC_2.3.3 __libdl_version_placeholder 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 dab4cbc677..4d1dd2b3a2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -729,6 +729,7 @@  GLIBC_2.16 dlerror F
 GLIBC_2.16 dlinfo F
 GLIBC_2.16 dlmopen F
 GLIBC_2.16 dlsym F
+GLIBC_2.16 dlvsym F
 GLIBC_2.16 dngettext F
 GLIBC_2.16 dprintf F
 GLIBC_2.16 drand48 F
@@ -2371,6 +2372,7 @@  GLIBC_2.34 dlerror F
 GLIBC_2.34 dlinfo F
 GLIBC_2.34 dlmopen F
 GLIBC_2.34 dlsym F
+GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
index 645f87e571..92d5e7d128 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist
@@ -1,2 +1 @@ 
 GLIBC_2.16 dlopen F
-GLIBC_2.16 dlvsym F