From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com [IPv6:2607:f8b0:4864:20::835]) by sourceware.org (Postfix) with ESMTPS id 9157C396E848 for ; Wed, 2 Jun 2021 14:54:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9157C396E848 Received: by mail-qt1-x835.google.com with SMTP id m13so1960638qtk.13 for ; Wed, 02 Jun 2021 07:54:53 -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=7N4Ziveb2D8800DPav8FmPe/FgCSnPVyehotG/s8Lho=; b=grfw53GMLLVRDcsC6yhIjppqYkKRa31p8HkLs0Uy3HKK58K1hfCA3K+rU69NyxkO7g IpV/d5z/aifjdnQqblB71L5Eo0fDRX2f7GWaYFGrI9lS+e8U+MSQTiQbmi4davtd1FiO nfBJXXSxUutdmbFIIyxWNEsTZABvvHy2FQ0Nj8wit+xNMDjvQc5RDh6a5vWdQx6avE+N hyM/wUKYGruYbrm9ZdECAwdokLrVeSoiwx6YzDgxnpAHOP7MmRz7UUDFKkrbpfvsXoUz cszNavBhzuPwkHdMyoAlbm1xDU2Wx9D5AnvxZXbWPbyHlYNKTK7NU46lyT1rjcM7zQsB j8kA== X-Gm-Message-State: AOAM531l1f62igOJsj89qH7G/cD9JjTaYusQi/D9I1LHmP3MdoHmfKi+ U0rDI98yDDGdHFnH8+JEz1eOASlfsNnmpw== X-Google-Smtp-Source: ABdhPJwRW4b6rT3++XzZcWXD/CIsL1139A0n5HCh+Dj56isMbDZjoFc5medaFhJ5cmGXDSuJqwxlvg== X-Received: by 2002:a05:622a:392:: with SMTP id j18mr24968694qtx.6.1622645692922; Wed, 02 Jun 2021 07:54:52 -0700 (PDT) Received: from [192.168.1.4] ([177.194.59.218]) by smtp.gmail.com with ESMTPSA id y1sm141274qkp.21.2021.06.02.07.54.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Jun 2021 07:54:52 -0700 (PDT) Subject: Re: [PATCH 13/16] dlfcn: Move dlopen into libc To: Florian Weimer , libc-alpha@sourceware.org References: <88d8aaf6b3975effbcac0f2d04e88d49b638fe42.1622469909.git.fweimer@redhat.com> From: Adhemerval Zanella Message-ID: <476136ba-90f6-d153-d7d4-efc941691f90@linaro.org> Date: Wed, 2 Jun 2021 11:54:50 -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: <88d8aaf6b3975effbcac0f2d04e88d49b638fe42.1622469909.git.fweimer@redhat.com> 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, 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:55:04 -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 | 8 +- > dlfcn/Versions | 7 +- > dlfcn/dlfcn.c | 16 +++- > dlfcn/dlopen.c | 82 ++++++++++--------- > dlfcn/dlopenold.c | 4 +- > dlfcn/sdlopen.c | 1 - > include/dlfcn.h | 3 +- > sysdeps/mach/hurd/i386/libc.abilist | 2 + > sysdeps/mach/hurd/i386/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + > sysdeps/unix/sysv/linux/aarch64/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 + > sysdeps/unix/sysv/linux/alpha/libdl.abilist | 4 +- > sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arc/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arm/be/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + > sysdeps/unix/sysv/linux/arm/le/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + > sysdeps/unix/sysv/linux/csky/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 + > sysdeps/unix/sysv/linux/hppa/libdl.abilist | 4 +- > sysdeps/unix/sysv/linux/i386/libc.abilist | 3 + > sysdeps/unix/sysv/linux/i386/libdl.abilist | 4 +- > sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 + > sysdeps/unix/sysv/linux/ia64/libdl.abilist | 4 +- > .../sysv/linux/m68k/coldfire/libc.abilist | 2 + > .../sysv/linux/m68k/coldfire/libdl.abilist | 2 +- > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 3 + > .../unix/sysv/linux/m68k/m680x0/libdl.abilist | 4 +- > .../sysv/linux/microblaze/be/libc.abilist | 2 + > .../sysv/linux/microblaze/be/libdl.abilist | 2 +- > .../sysv/linux/microblaze/le/libc.abilist | 2 + > .../sysv/linux/microblaze/le/libdl.abilist | 2 +- > .../sysv/linux/mips/mips32/fpu/libc.abilist | 3 + > .../unix/sysv/linux/mips/mips32/libdl.abilist | 4 +- > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 3 + > .../unix/sysv/linux/mips/mips64/libdl.abilist | 4 +- > .../sysv/linux/mips/mips64/n32/libc.abilist | 3 + > .../sysv/linux/mips/mips64/n64/libc.abilist | 3 + > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + > sysdeps/unix/sysv/linux/nios2/libdl.abilist | 2 +- > .../linux/powerpc/powerpc32/fpu/libc.abilist | 3 + > .../linux/powerpc/powerpc32/libdl.abilist | 4 +- > .../powerpc/powerpc32/nofpu/libc.abilist | 3 + > .../linux/powerpc/powerpc64/be/libc.abilist | 2 + > .../linux/powerpc/powerpc64/be/libdl.abilist | 2 +- > .../linux/powerpc/powerpc64/le/libc.abilist | 2 + > .../linux/powerpc/powerpc64/le/libdl.abilist | 2 +- > .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + > .../unix/sysv/linux/riscv/rv32/libdl.abilist | 2 +- > .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + > .../unix/sysv/linux/riscv/rv64/libdl.abilist | 2 +- > .../unix/sysv/linux/s390/s390-32/libc.abilist | 3 + > .../sysv/linux/s390/s390-32/libdl.abilist | 4 +- > .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + > .../sysv/linux/s390/s390-64/libdl.abilist | 2 +- > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 3 + > sysdeps/unix/sysv/linux/sh/be/libdl.abilist | 4 +- > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 3 + > sysdeps/unix/sysv/linux/sh/le/libdl.abilist | 4 +- > .../sysv/linux/sparc/sparc32/libc.abilist | 3 + > .../sysv/linux/sparc/sparc32/libdl.abilist | 4 +- > .../sysv/linux/sparc/sparc64/libc.abilist | 3 + > .../sysv/linux/sparc/sparc64/libdl.abilist | 4 +- > .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + > .../unix/sysv/linux/x86_64/64/libdl.abilist | 2 +- > .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + > .../unix/sysv/linux/x86_64/x32/libdl.abilist | 2 +- > 70 files changed, 193 insertions(+), 96 deletions(-) > delete mode 100644 dlfcn/sdlopen.c > > diff --git a/dlfcn/Makefile b/dlfcn/Makefile > index 08d92f85fc..a471d86071 100644 > --- a/dlfcn/Makefile > +++ b/dlfcn/Makefile > @@ -21,8 +21,7 @@ include ../Makeconfig > > headers := bits/dlfcn.h dlfcn.h > extra-libs := libdl > -libdl-routines := dlopen \ > - dlfcn > +libdl-routines := dlfcn > routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) > elide-routines.os := $(routines) > routines += \ > @@ -32,6 +31,7 @@ routines += \ > dlerror \ > dlinfo \ > dlmopen \ > + dlopen \ > dlsym \ > dlvsym \ > libc_dlerror_result \ > @@ -39,8 +39,8 @@ routines += \ > extra-libs-others := libdl > > ifeq ($(build-shared),yes) > -libdl-routines += dlopenold > -libdl-shared-only-routines := dlopenold dlfcn > +routines += dlopenold > +shared-only-routines := dlopenold dlfcn > endif > > ifeq (yes,$(build-shared)) Ok. > diff --git a/dlfcn/Versions b/dlfcn/Versions > index 3c4fa2742e..cc34eb824d 100644 > --- a/dlfcn/Versions > +++ b/dlfcn/Versions > @@ -3,9 +3,11 @@ libc { > dladdr; > dlclose; > dlerror; > + dlopen; > dlsym; > } > GLIBC_2.1 { > + dlopen; > dlvsym; > } > GLIBC_2.3.3 { > @@ -22,6 +24,7 @@ libc { > dlerror; > dlinfo; > dlmopen; > + dlopen; > dlsym; > dlvsym; > } > @@ -33,10 +36,10 @@ libc { > } > libdl { > GLIBC_2.0 { > - dlopen; > + __libdl_version_placeholder; > } > GLIBC_2.1 { > - dlopen; > + __libdl_version_placeholder; > } > GLIBC_2.3.3 { > __libdl_version_placeholder; Ok. > diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c > index 55ecfcabbe..ef750bc27a 100644 > --- a/dlfcn/dlfcn.c > +++ b/dlfcn/dlfcn.c > @@ -48,14 +48,22 @@ __libdl_version_placeholder_1 (void) > { > } > > -#if SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) \ > - && ABI_libdl_GLIBC_2_3_3 != ABI_libdl_GLIBC_2_1 > +#if SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) > +compat_symbol (libdl, __libdl_version_placeholder_1, > + __libdl_version_placeholder, GLIBC_2_0); > +#endif > + > +#if SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34) > +compat_symbol (libdl, __libdl_version_placeholder_1, > + __libdl_version_placeholder, GLIBC_2_1); > +#endif > + > +#if SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) > compat_symbol (libdl, __libdl_version_placeholder_1, > __libdl_version_placeholder, GLIBC_2_3_3); > #endif > > -#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) \ > - && ABI_libdl_GLIBC_2_3_4 != ABI_libdl_GLIBC_2_1 > +#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) > compat_symbol (libdl, __libdl_version_placeholder_1, > __libdl_version_placeholder, GLIBC_2_3_4); > #endif Ok. > diff --git a/dlfcn/dlopen.c b/dlfcn/dlopen.c > index d51e006453..afdc113efb 100644 > --- a/dlfcn/dlopen.c > +++ b/dlfcn/dlopen.c > @@ -21,17 +21,7 @@ > #include > #include > #include > - > -#if !defined SHARED && IS_IN (libdl) > - > -void * > -dlopen (const char *file, int mode) > -{ > - return __dlopen (file, mode, RETURN_ADDRESS (0)); > -} > -static_link_warning (dlopen) > - > -#else > +#include > > struct dlopen_args > { > @@ -46,11 +36,11 @@ struct dlopen_args > > > /* Non-shared code has no support for multiple namespaces. */ > -# ifdef SHARED > -# define NS __LM_ID_CALLER > -# else > -# define NS LM_ID_BASE > -# endif > +#ifdef SHARED > +# define NS __LM_ID_CALLER > +#else > +# define NS LM_ID_BASE > +#endif > > > static void > @@ -66,38 +56,54 @@ dlopen_doit (void *a) > args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN, > args->caller, > args->file == NULL ? LM_ID_BASE : NS, > - __dlfcn_argc, __dlfcn_argv, __environ); > + __libc_argc, __libc_argv, __environ); > } > > > -void * > -__dlopen (const char *file, int mode DL_CALLER_DECL) > +static void * > +dlopen_implementation (const char *file, int mode, void *dl_caller) > { > -# ifdef SHARED > - if (!rtld_active ()) > - return _dlfcn_hook->dlopen (file, mode, DL_CALLER); > -# endif > - > struct dlopen_args args; > args.file = file; > args.mode = mode; > - args.caller = DL_CALLER; > + args.caller = dl_caller; > > -# ifdef SHARED > return _dlerror_run (dlopen_doit, &args) ? NULL : args.new; > -# else > - if (_dlerror_run (dlopen_doit, &args)) > - return NULL; > +} > > - __libc_register_dl_open_hook ((struct link_map *) args.new); > - __libc_register_dlfcn_hook ((struct link_map *) args.new); > +#ifdef SHARED > +void * > +___dlopen (const char *file, int mode) > +{ > + if (!rtld_active ()) > + return _dlfcn_hook->dlopen (file, mode, RETURN_ADDRESS (0)); > + else > + return dlopen_implementation (file, mode, RETURN_ADDRESS (0)); > +} > +versioned_symbol (libc, ___dlopen, dlopen, GLIBC_2_34); > > - return args.new; > +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34) > +compat_symbol (libdl, ___dlopen, dlopen, GLIBC_2_1); > # endif > +#else /* !SHARED */ > +/* Also used with _dlfcn_hook. */ > +void * > +__dlopen (const char *file, int mode, void *dl_caller) > +{ > + return dlopen_implementation (file, mode, RETURN_ADDRESS (0)); > } > -# ifdef SHARED > -# include > -strong_alias (__dlopen, __dlopen_check) > -versioned_symbol (libdl, __dlopen_check, dlopen, GLIBC_2_1); > -# endif > -#endif > + > +void * > +___dlopen (const char *file, int mode) > +{ > + struct link_map *l = __dlopen (file, mode, RETURN_ADDRESS (0)); > + if (l != NULL) > + { > + __libc_register_dl_open_hook (l); > + __libc_register_dlfcn_hook (l); > + } > + return l; > +} > +weak_alias (___dlopen, dlopen) > +static_link_warning (dlopen) > +#endif /* !SHARED */ Ok. > diff --git a/dlfcn/dlopenold.c b/dlfcn/dlopenold.c > index 6174dcbb27..0fe5f24cc5 100644 > --- a/dlfcn/dlopenold.c > +++ b/dlfcn/dlopenold.c > @@ -24,7 +24,7 @@ > /* This file is for compatibility with glibc 2.0. Compile it only if > versioning is used. */ > #include > -#if SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_1) > +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_1) > > struct dlopen_args > { > @@ -54,7 +54,7 @@ dlopen_doit (void *a) > args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN, > args->caller, > args->file == NULL ? LM_ID_BASE : NS, > - __dlfcn_argc, __dlfcn_argv, __environ); > + __libc_argc, __libc_argv, __environ); > } > > extern void *__dlopen_nocheck (const char *file, int mode); Ok. > diff --git a/dlfcn/sdlopen.c b/dlfcn/sdlopen.c > deleted file mode 100644 > index 1ff2eb2854..0000000000 > --- a/dlfcn/sdlopen.c > +++ /dev/null > @@ -1 +0,0 @@ > -#include "dlopen.c" Ok. > diff --git a/include/dlfcn.h b/include/dlfcn.h > index 04ea4f6e2d..4274eddbc9 100644 > --- a/include/dlfcn.h > +++ b/include/dlfcn.h > @@ -132,8 +132,7 @@ libc_hidden_proto (_dlfcn_hook) > libraries. Internal calls in glibc should use the __libc_dl* > functions defined in elf/dl-libc.c instead. */ > > -extern void *__dlopen (const char *file, int mode DL_CALLER_DECL) > - attribute_hidden; > +extern void *__dlopen (const char *file, int mode, void *caller); > extern void *__dlmopen (Lmid_t nsid, const char *file, int mode, > void *dl_caller); > extern int __dlclose (void *handle); Ok. > diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist > index f0bd076005..f651989962 100644 > --- a/sysdeps/mach/hurd/i386/libc.abilist > +++ b/sysdeps/mach/hurd/i386/libc.abilist > @@ -744,6 +744,7 @@ GLIBC_2.2.6 dl_iterate_phdr F > GLIBC_2.2.6 dladdr F > GLIBC_2.2.6 dlclose F > GLIBC_2.2.6 dlerror F > +GLIBC_2.2.6 dlopen F > GLIBC_2.2.6 dlsym F > GLIBC_2.2.6 dlvsym F > GLIBC_2.2.6 dngettext F > @@ -2221,6 +2222,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist > index cd906eff75..59397ee9b5 100644 > --- a/sysdeps/mach/hurd/i386/libdl.abilist > +++ b/sysdeps/mach/hurd/i386/libdl.abilist > @@ -1,3 +1,3 @@ > -GLIBC_2.2.6 dlopen F > +GLIBC_2.2.6 __libdl_version_placeholder 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 deebf612dc..bee807a6f8 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -724,6 +724,7 @@ GLIBC_2.17 dlclose F > GLIBC_2.17 dlerror F > GLIBC_2.17 dlinfo F > GLIBC_2.17 dlmopen F > +GLIBC_2.17 dlopen F > GLIBC_2.17 dlsym F > GLIBC_2.17 dlvsym F > GLIBC_2.17 dngettext F > @@ -2356,6 +2357,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist > index 1fabf08e3c..4ba4ba9aae 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.17 dlopen F > +GLIBC_2.17 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index a4f79e54d8..43dd600039 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -412,6 +412,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1524,6 +1525,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2448,6 +2450,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 ad8180833a..033ed08877 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -669,6 +669,7 @@ GLIBC_2.32 dlclose F > GLIBC_2.32 dlerror F > GLIBC_2.32 dlinfo F > GLIBC_2.32 dlmopen F > +GLIBC_2.32 dlopen F > GLIBC_2.32 dlsym F > GLIBC_2.32 dlvsym F > GLIBC_2.32 dngettext F > @@ -2115,6 +2116,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist > index aef59c3c3c..051a968c87 100644 > --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.32 dlopen F > +GLIBC_2.32 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index a9eae3c20e..f66ee7aab1 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -213,6 +213,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > @@ -1031,6 +1032,7 @@ GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > GLIBC_2.4 dlinfo F > GLIBC_2.4 dlmopen F > +GLIBC_2.4 dlopen F > GLIBC_2.4 dlsym F > GLIBC_2.4 dlvsym F > GLIBC_2.4 dngettext F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist > index f6280a2f0d..65eb212007 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.4 dlopen F > +GLIBC_2.4 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index c93d59d01b..3798b32830 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -210,6 +210,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > @@ -1028,6 +1029,7 @@ GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > GLIBC_2.4 dlinfo F > GLIBC_2.4 dlmopen F > +GLIBC_2.4 dlopen F > GLIBC_2.4 dlsym F > GLIBC_2.4 dlvsym F > GLIBC_2.4 dngettext F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist > index f6280a2f0d..65eb212007 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.4 dlopen F > +GLIBC_2.4 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index 226187a2e2..ba53b61ea6 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -705,6 +705,7 @@ GLIBC_2.29 dlclose F > GLIBC_2.29 dlerror F > GLIBC_2.29 dlinfo F > GLIBC_2.29 dlmopen F > +GLIBC_2.29 dlopen F > GLIBC_2.29 dlsym F > GLIBC_2.29 dlvsym F > GLIBC_2.29 dngettext F > @@ -2299,6 +2300,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist > index 323b9117b2..7f396d46e5 100644 > --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.29 dlopen F > +GLIBC_2.29 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 1b41bfd3d7..9783504c93 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -1,7 +1,9 @@ > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > @@ -2252,6 +2254,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 2c0369a482..c223c360ff 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -398,6 +398,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1498,6 +1499,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2436,6 +2438,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 852bba8bf8..ea2be9ead2 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -1,7 +1,9 @@ > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > @@ -2288,6 +2290,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 c55e7622c7..3cb4279b41 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -214,6 +214,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > @@ -1020,6 +1021,7 @@ GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > GLIBC_2.4 dlinfo F > GLIBC_2.4 dlmopen F > +GLIBC_2.4 dlopen F > GLIBC_2.4 dlsym F > GLIBC_2.4 dlvsym F > GLIBC_2.4 dngettext F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist > index f6280a2f0d..65eb212007 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.4 dlopen F > +GLIBC_2.4 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index b97c4a53f5..94a718ff58 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -399,6 +399,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1495,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2379,6 +2381,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 f5a906f7c5..5823bf18ef 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -726,6 +726,7 @@ GLIBC_2.18 dlclose F > GLIBC_2.18 dlerror F > GLIBC_2.18 dlinfo F > GLIBC_2.18 dlmopen F > +GLIBC_2.18 dlopen F > GLIBC_2.18 dlsym F > GLIBC_2.18 dlvsym F > GLIBC_2.18 dngettext F > @@ -2350,6 +2351,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist > index f8d2fc1b69..97801fca23 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.18 dlopen F > +GLIBC_2.18 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 81ccb4e029..723c4bcb09 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -726,6 +726,7 @@ GLIBC_2.18 dlclose F > GLIBC_2.18 dlerror F > GLIBC_2.18 dlinfo F > GLIBC_2.18 dlmopen F > +GLIBC_2.18 dlopen F > GLIBC_2.18 dlsym F > GLIBC_2.18 dlvsym F > GLIBC_2.18 dngettext F > @@ -2347,6 +2348,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist > index f8d2fc1b69..97801fca23 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.18 dlopen F > +GLIBC_2.18 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index e4e1b90620..f67da8f37a 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -397,6 +397,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1680,6 +1681,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 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.2 dngettext F > GLIBC_2.2 ecb_crypt F > @@ -2344,6 +2346,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist > index 69d0dae81c..6ea9b0424f 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.2 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.2 __libdl_version_placeholder 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 458475399a..e44a6be8aa 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -397,6 +397,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1678,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 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.2 dngettext F > GLIBC_2.2 ecb_crypt F > @@ -2342,6 +2344,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist > index 69d0dae81c..6ea9b0424f 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.2 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.2 __libdl_version_placeholder 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 c79ce36927..21cbe39166 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -397,6 +397,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1679,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 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.2 dngettext F > GLIBC_2.2 ecb_crypt F > @@ -2350,6 +2352,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index 4f642a64f8..a271342813 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -395,6 +395,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1675,6 +1676,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 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.2 dngettext F > GLIBC_2.2 ecb_crypt F > @@ -2344,6 +2346,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 403a109f8f..9429209215 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -769,6 +769,7 @@ GLIBC_2.21 dlclose F > GLIBC_2.21 dlerror F > GLIBC_2.21 dlinfo F > GLIBC_2.21 dlmopen F > +GLIBC_2.21 dlopen F > GLIBC_2.21 dlsym F > GLIBC_2.21 dlvsym F > GLIBC_2.21 dngettext F > @@ -2389,6 +2390,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist > index b83daf801c..70efb879ed 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.21 dlopen F > +GLIBC_2.21 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index a51daed07a..eaca8e4b0c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -408,6 +408,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1503,6 +1504,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2406,6 +2408,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 54b6d41c6d..c754a181da 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -408,6 +408,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1503,6 +1504,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2439,6 +2441,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index be60141560..98bd6bea39 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -761,6 +761,7 @@ GLIBC_2.3 dl_iterate_phdr F > GLIBC_2.3 dladdr F > GLIBC_2.3 dlclose F > GLIBC_2.3 dlerror F > +GLIBC_2.3 dlopen F > GLIBC_2.3 dlsym F > GLIBC_2.3 dlvsym F > GLIBC_2.3 dngettext F > @@ -2253,6 +2254,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist > index c32fb65365..d82eac3034 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist > @@ -1,3 +1,3 @@ > -GLIBC_2.3 dlopen F > +GLIBC_2.3 __libdl_version_placeholder 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 4157f78a90..d27f7448ed 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -812,6 +812,7 @@ GLIBC_2.17 dlclose F > GLIBC_2.17 dlerror F > GLIBC_2.17 dlinfo F > GLIBC_2.17 dlmopen F > +GLIBC_2.17 dlopen F > GLIBC_2.17 dlsym F > GLIBC_2.17 dlvsym F > GLIBC_2.17 dngettext F > @@ -2552,6 +2553,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist > index 1fabf08e3c..4ba4ba9aae 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.17 dlopen F > +GLIBC_2.17 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index 367e46b2e2..33c9f98bf5 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -662,6 +662,7 @@ GLIBC_2.33 dlclose F > GLIBC_2.33 dlerror F > GLIBC_2.33 dlinfo F > GLIBC_2.33 dlmopen F > +GLIBC_2.33 dlopen F > GLIBC_2.33 dlsym F > GLIBC_2.33 dlvsym F > GLIBC_2.33 dngettext F > @@ -2117,6 +2118,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist > index 7014e0e280..8441999906 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.33 dlopen F > +GLIBC_2.33 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index aec46ac3c0..9902603cd4 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -703,6 +703,7 @@ GLIBC_2.27 dlclose F > GLIBC_2.27 dlerror F > GLIBC_2.27 dlinfo F > GLIBC_2.27 dlmopen F > +GLIBC_2.27 dlopen F > GLIBC_2.27 dlsym F > GLIBC_2.27 dlvsym F > GLIBC_2.27 dngettext F > @@ -2317,6 +2318,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist > index d4d85e298f..33ff573df8 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.27 dlopen F > +GLIBC_2.27 __libdl_version_placeholder F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 5dbfc50d2a..963e27571d 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -398,6 +398,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1495,6 +1496,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2404,6 +2406,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 c0d3d8362c..17c56a2658 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -698,6 +698,7 @@ GLIBC_2.2 div F > GLIBC_2.2 dladdr F > GLIBC_2.2 dlclose F > GLIBC_2.2 dlerror F > +GLIBC_2.2 dlopen F > GLIBC_2.2 dlsym F > GLIBC_2.2 dlvsym F > GLIBC_2.2 dngettext F > @@ -2290,6 +2291,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist > index 59fedff595..a1deffc0c2 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist > @@ -1,3 +1,3 @@ > -GLIBC_2.2 dlopen F > +GLIBC_2.2 __libdl_version_placeholder 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 1928e8a1fb..456abfb5bb 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -5,7 +5,9 @@ GCC_3.0 __register_frame_info_table_bases F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > @@ -2259,6 +2261,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 738628c7b6..45e59f1821 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -5,7 +5,9 @@ GCC_3.0 __register_frame_info_table_bases F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > @@ -2256,6 +2258,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 c7e29c5d31..734e1f38b6 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -400,6 +400,7 @@ GLIBC_2.0 div F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > @@ -1496,6 +1497,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 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.1 ecb_crypt F > GLIBC_2.1 endutxent F > @@ -2397,6 +2399,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 e5c7a92b38..9edf5ff234 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -5,7 +5,9 @@ GCC_3.0 __register_frame_info_table_bases F > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlopen F > GLIBC_2.0 dlsym F > +GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > @@ -2309,6 +2311,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist > index 8500feca8a..a455934421 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist > @@ -1,4 +1,4 @@ > -GLIBC_2.0 dlopen F > -GLIBC_2.1 dlopen F > +GLIBC_2.0 __libdl_version_placeholder F > +GLIBC_2.1 __libdl_version_placeholder 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 7e35c50406..bc8535fbed 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -688,6 +688,7 @@ GLIBC_2.2.5 dl_iterate_phdr F > GLIBC_2.2.5 dladdr F > GLIBC_2.2.5 dlclose F > GLIBC_2.2.5 dlerror F > +GLIBC_2.2.5 dlopen F > GLIBC_2.2.5 dlsym F > GLIBC_2.2.5 dlvsym F > GLIBC_2.2.5 dngettext F > @@ -2268,6 +2269,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist > index 7a82c097cf..590424fbdc 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist > @@ -1,3 +1,3 @@ > -GLIBC_2.2.5 dlopen F > +GLIBC_2.2.5 __libdl_version_placeholder 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 4d1dd2b3a2..669cc664f5 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -728,6 +728,7 @@ GLIBC_2.16 dlclose F > GLIBC_2.16 dlerror F > GLIBC_2.16 dlinfo F > GLIBC_2.16 dlmopen F > +GLIBC_2.16 dlopen F > GLIBC_2.16 dlsym F > GLIBC_2.16 dlvsym F > GLIBC_2.16 dngettext F > @@ -2371,6 +2372,7 @@ GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > GLIBC_2.34 dlinfo F > GLIBC_2.34 dlmopen F > +GLIBC_2.34 dlopen F > GLIBC_2.34 dlsym F > GLIBC_2.34 dlvsym F > GLIBC_2.34 execveat F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist > index 92d5e7d128..583acd29f7 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist > @@ -1 +1 @@ > -GLIBC_2.16 dlopen F > +GLIBC_2.16 __libdl_version_placeholder F > Ok.