From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Florian Weimer <fweimer@redhat.com>, libc-alpha@sourceware.org
Subject: Re: [PATCH 12/16] dlfcn: Move dlvsym into libc
Date: Wed, 2 Jun 2021 11:34:23 -0300 [thread overview]
Message-ID: <3e1e589e-0bc1-a261-3d28-e6a1417f2f68@linaro.org> (raw)
In-Reply-To: <d74770be23f61d79a41c62c633371be7e0b3c29f.1622469909.git.fweimer@redhat.com>
On 31/05/2021 11:12, Florian Weimer via Libc-alpha wrote:
> The symbol was moved using scripts/move-symbol-to-libc.py.
LGTM, thanks.
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.
next prev parent reply other threads:[~2021-06-02 14:34 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-31 14:10 [PATCH v3 00/16] Move libdl " Florian Weimer
2021-05-31 14:11 ` [PATCH v2 01/16] stdio-common: Remove _IO_vfwscanf Florian Weimer
2021-05-31 19:42 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 02/16] Add missing symbols to Version files Florian Weimer
2021-06-01 19:12 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 03/16] scripts/versions.awk: Add local: * to all version nodes Florian Weimer
2021-06-01 19:23 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH v2 04/16] Add libc ABI extension kludge for baseline-violating libdl symbols Florian Weimer
2021-06-01 19:31 ` Adhemerval Zanella
2021-06-01 19:34 ` Florian Weimer
2021-06-01 19:38 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 05/16] dlfcn: Move dlerror into libc Florian Weimer
2021-06-01 19:36 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 06/16] dlfcn: Move dlclose " Florian Weimer
2021-06-02 12:58 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 07/16] dlfcn: Move dladdr " Florian Weimer
2021-06-02 14:02 ` Adhemerval Zanella
2021-05-31 14:11 ` [PATCH 08/16] dlfcn: Move dlsym " Florian Weimer
2021-06-02 14:12 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 09/16] dlfcn: Move dlmopen " Florian Weimer
2021-06-02 14:19 ` Adhemerval Zanella
2021-06-02 14:37 ` Florian Weimer
2021-06-02 14:43 ` Adhemerval Zanella
2021-06-02 17:49 ` Florian Weimer
2021-06-02 18:00 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 10/16] dlfcn: Move dladdr1 " Florian Weimer
2021-06-02 14:29 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 11/16] dlfcn: Move dlinfo " Florian Weimer
2021-06-02 14:31 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 12/16] dlfcn: Move dlvsym " Florian Weimer
2021-06-02 14:34 ` Adhemerval Zanella [this message]
2021-05-31 14:12 ` [PATCH 13/16] dlfcn: Move dlopen " Florian Weimer
2021-06-02 14:54 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 14/16] dlfcn: Cleanups after -ldl is no longer required Florian Weimer
2021-06-02 18:08 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH v2 15/16] dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 Florian Weimer
2021-06-02 18:09 ` Adhemerval Zanella
2021-05-31 14:12 ` [PATCH 16/16] dlfcn: Rework static dlopen hooks Florian Weimer
2021-06-02 19:18 ` Adhemerval Zanella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3e1e589e-0bc1-a261-3d28-e6a1417f2f68@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=fweimer@redhat.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).