From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) by sourceware.org (Postfix) with ESMTPS id 7F1903857C52 for ; Wed, 2 Jun 2021 14:34:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7F1903857C52 Received: by mail-qt1-x829.google.com with SMTP id t17so1922100qta.11 for ; Wed, 02 Jun 2021 07:34:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=UmFR8MUKxBf8Jc/3USLtr4lRI38CIR0W49UHShGEXZY=; b=b0RU1l7/4/OQQhBLI4g+gd6HnXuoCVpwQHnd0dA4oamQt7zkB0Brw8BK4Fe0XGGpGH hELQJe70z5nt50dYfpMxD37GlHxz7u44LcGplwRfTIFdm2ITL4C4bqZPQHWdr20zGjWR sewm5gMveYh7IR3yKf7YpE/54PGKKfkTQ7rQS1ruz2XE/0hNUDaymp9bKlBjigeGM1yn YKmEJaVI0f9wSz8SMxhVX9S+wpoegmUp5ztkYy8OZhIYXgLV1hagkNxGQdh3q2wMVwGt /Prlms0VEU4kX68CdBUrxOSceMl7syy528gOAbVRWHCRe42ZBeIz90B73wkWqdg6RxWw OwCQ== X-Gm-Message-State: AOAM531PpeL1kmRvQchOjvOUCCaFvzTrroJDVITketusy30uOqvLdSjX nJRIqdgzZpKrPFKKDYffBR/CqN5O4LSg5Q== X-Google-Smtp-Source: ABdhPJyhJ/aQsANhidcgxM27+GIaBJRaxLT636LUWHd6dvytvK9NKc5nyw9O2/O/l9Qil8f8edaeOw== X-Received: by 2002:ac8:4319:: with SMTP id z25mr25540981qtm.262.1622644465800; Wed, 02 Jun 2021 07:34:25 -0700 (PDT) Received: from [192.168.1.4] ([177.194.59.218]) by smtp.gmail.com with ESMTPSA id i10sm67475qko.68.2021.06.02.07.34.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Jun 2021 07:34:25 -0700 (PDT) Subject: Re: [PATCH 12/16] dlfcn: Move dlvsym into libc To: Florian Weimer , libc-alpha@sourceware.org References: From: Adhemerval Zanella Message-ID: <3e1e589e-0bc1-a261-3d28-e6a1417f2f68@linaro.org> Date: Wed, 2 Jun 2021 11:34:23 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jun 2021 14:34:37 -0000 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 > --- > 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 @@ > . */ > > #include > -#include > - > #include > - > -#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 > +#include > > 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 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.