From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf34.google.com (mail-qv1-xf34.google.com [IPv6:2607:f8b0:4864:20::f34]) by sourceware.org (Postfix) with ESMTPS id A23B7383D03E for ; Wed, 2 Jun 2021 14:12:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A23B7383D03E Received: by mail-qv1-xf34.google.com with SMTP id 5so1392022qvk.0 for ; Wed, 02 Jun 2021 07:12:03 -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=wzxImUa0HDO/rxuvB28drhMsrZRpoUJqX9CK9rNr+7Q=; b=c/0MchYkC3b35u4hxkYtbgNeHEOfCWTW3RHx0F1rUQTGeyMBAERhIyYNchY9yWO3uD 2SAM1lbN6plEq9hx3RiqfS3z71znRFijMRdYOtAIboaTVdxxI+rH/VK3YYVBMQjg4IbR +PddoBW7VbMrS0NHQahAgiCLlFEHlz2YZ/nIq8CfO/K6oaXH8pDJrFwxVN05fvVVqli9 rngKOsatrh9+iD2w+BFyjmxgEkGtd3WHRVR/DJLrwia7iWN7E/BNELcDSED21O4Fx5cr GGAwxxvUkFafafi3p89s7LHH7Vg8K4MoBKFuO1adI7ukq8bQiSBg1zsfnpPtdHQsQSjD ir3A== X-Gm-Message-State: AOAM5327vMasZG5HMy7kR26RnZ7yyZ6XZ6KMvoMau16zOSBZB709R1nd EJDFwaxXYw5BisGuH9uDr48q1YXUXJuFNw== X-Google-Smtp-Source: ABdhPJxBVY6lbAUgEEf0gcCcPLg2UkDBjyA9wYVy5aGL7TiSZrpftl7y+ZvYYMZY+Fbvsr5/618m7A== X-Received: by 2002:a05:6214:a06:: with SMTP id dw6mr20072284qvb.25.1622643122985; Wed, 02 Jun 2021 07:12:02 -0700 (PDT) Received: from [192.168.1.4] ([177.194.59.218]) by smtp.gmail.com with ESMTPSA id h4sm669451qti.0.2021.06.02.07.12.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 02 Jun 2021 07:12:02 -0700 (PDT) Subject: Re: [PATCH 08/16] dlfcn: Move dlsym into libc To: Florian Weimer , libc-alpha@sourceware.org References: <77264ca540a7972cdd639f610ea1dd0a81b8b8ec.1622469908.git.fweimer@redhat.com> From: Adhemerval Zanella Message-ID: Date: Wed, 2 Jun 2021 11:12:00 -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: <77264ca540a7972cdd639f610ea1dd0a81b8b8ec.1622469908.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, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Jun 2021 14:12:14 -0000 On 31/05/2021 11:11, Florian Weimer via Libc-alpha wrote: > The symbol was moved using scripts/move-symbol-to-libc.py. > > In elf/Makefile, remove the $(libdl) dependency from testobj1.so > because it the unused libdl DSO now causes elf/tst-unused-deps to > fail. LGTM, thanks. Reviewed-by: Adhemerval Zanella > --- > dlfcn/Makefile | 3 +- > dlfcn/Versions | 4 +- > dlfcn/dlsym.c | 59 +++++++++++-------- > dlfcn/sdlsym.c | 1 - > elf/Makefile | 1 - > elf/dl-sym.c | 1 + > include/dlfcn.h | 4 +- > 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 - > 70 files changed, 109 insertions(+), 60 deletions(-) > delete mode 100644 dlfcn/sdlsym.c > > diff --git a/dlfcn/Makefile b/dlfcn/Makefile > index f0793468c7..b0f2e8a986 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 dlsym dlvsym dladdr1 dlinfo \ > +libdl-routines := dlopen dlvsym dladdr1 dlinfo \ > dlmopen dlfcn > routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) > elide-routines.os := $(routines) > @@ -29,6 +29,7 @@ routines += \ > dladdr \ > dlclose \ > dlerror \ > + dlsym \ > libc_dlerror_result \ > > extra-libs-others := libdl Ok. > diff --git a/dlfcn/Versions b/dlfcn/Versions > index 89e4a1236a..7d6b51a4e3 100644 > --- a/dlfcn/Versions > +++ b/dlfcn/Versions > @@ -3,11 +3,13 @@ libc { > dladdr; > dlclose; > dlerror; > + dlsym; > } > GLIBC_2.34 { > dladdr; > dlclose; > dlerror; > + dlsym; > } > GLIBC_PRIVATE { > __libc_dlerror_result; > @@ -17,7 +19,7 @@ libc { > } > libdl { > GLIBC_2.0 { > - dlopen; dlsym; > + dlopen; > } > GLIBC_2.1 { > dlopen; dlvsym; Ok. > diff --git a/dlfcn/dlsym.c b/dlfcn/dlsym.c > index 26cea4ba6d..6b03b7b7ab 100644 > --- a/dlfcn/dlsym.c > +++ b/dlfcn/dlsym.c > @@ -17,19 +17,9 @@ > . */ > > #include > -#include > - > #include > - > -#if !defined SHARED && IS_IN (libdl) > - > -void * > -dlsym (void *handle, const char *name) > -{ > - return __dlsym (handle, name, RETURN_ADDRESS (0)); > -} > - > -#else > +#include > +#include > > struct dlsym_args > { > @@ -50,17 +40,11 @@ dlsym_doit (void *a) > args->sym = _dl_sym (args->handle, args->name, args->who); > } > > - > -void * > -__dlsym (void *handle, const char *name DL_CALLER_DECL) > +static void * > +dlsym_implementation (void *handle, const char *name, void *dl_caller) > { > -# ifdef SHARED > - if (!rtld_active ()) > - return _dlfcn_hook->dlsym (handle, name, DL_CALLER); > -# endif > - > struct dlsym_args args; > - args.who = DL_CALLER; > + args.who = dl_caller; > args.handle = handle; > args.name = name; > > @@ -73,7 +57,34 @@ __dlsym (void *handle, const char *name DL_CALLER_DECL) > > return result; > } > -# ifdef SHARED > -strong_alias (__dlsym, dlsym) > + > +#ifdef SHARED > +void * > +___dlsym (void *handle, const char *name) > +{ > + if (!rtld_active ()) > + return _dlfcn_hook->dlsym (handle, name, RETURN_ADDRESS (0)); > + else > + return dlsym_implementation (handle, name, RETURN_ADDRESS (0)); > +} > +versioned_symbol (libc, ___dlsym, dlsym, GLIBC_2_34); > + > +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) > +compat_symbol (libdl, ___dlsym, dlsym, GLIBC_2_0); > # endif > -#endif > + > +#else /* !SHARED */ > +/* Also used with _dlfcn_hook. */ > +void * > +__dlsym (void *handle, const char *name, void *dl_caller) > +{ > + return dlsym_implementation (handle, name, dl_caller); > +} > + > +void * > +___dlsym (void *handle, const char *name) > +{ > + return __dlsym (handle, name, RETURN_ADDRESS (0)); > +} > +weak_alias (___dlsym, dlsym) > +#endif /* !SHARED */ Ok. > diff --git a/dlfcn/sdlsym.c b/dlfcn/sdlsym.c > deleted file mode 100644 > index 0234f23f8f..0000000000 > --- a/dlfcn/sdlsym.c > +++ /dev/null > @@ -1 +0,0 @@ > -#include "dlsym.c" Ok. > diff --git a/elf/Makefile b/elf/Makefile > index 834ec858a8..0ec736bb0f 100644 > --- a/elf/Makefile > +++ b/elf/Makefile > @@ -699,7 +699,6 @@ include $(patsubst %,$(..)libof-iterator.mk,$(cpp-srcs-left)) > test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names)))) > generated += $(addsuffix .so,$(strip $(modules-names))) > > -$(objpfx)testobj1.so: $(libdl) > $(objpfx)testobj1_1.so: $(objpfx)testobj1.so $(libdl) > $(objpfx)testobj2.so: $(objpfx)testobj1.so $(libdl) > $(objpfx)testobj3.so: $(libdl) Ok. > diff --git a/elf/dl-sym.c b/elf/dl-sym.c > index dfd6169e12..b34cc2f8eb 100644 > --- a/elf/dl-sym.c > +++ b/elf/dl-sym.c > @@ -195,3 +195,4 @@ _dl_sym (void *handle, const char *name, void *who) > { > return do_sym (handle, name, who, NULL, DL_LOOKUP_RETURN_NEWEST); > } > +libc_hidden_def (_dl_sym) Ok. > diff --git a/include/dlfcn.h b/include/dlfcn.h > index a018144808..2b174f8670 100644 > --- a/include/dlfcn.h > +++ b/include/dlfcn.h > @@ -84,6 +84,7 @@ extern void _dl_close_worker (struct link_map *map, bool force) > RTLD_NEXT). WHO is the calling function, for RTLD_NEXT. Returns > the symbol value, which may be NULL. */ > extern void *_dl_sym (void *handle, const char *name, void *who); > +libc_hidden_proto (_dl_sym) > > /* Look up version VERSION of symbol NAME in shared object HANDLE > (which may be RTLD_DEFAULT or RTLD_NEXT). WHO is the calling Ok. > @@ -135,8 +136,7 @@ extern void *__dlopen (const char *file, int mode DL_CALLER_DECL) > extern void *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL) > attribute_hidden; > extern int __dlclose (void *handle); > -extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL) > - attribute_hidden; > +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; Ok. > diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist > index abf3f3cf7f..02ba6c3593 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 dlsym F > GLIBC_2.2.6 dngettext F > GLIBC_2.2.6 dprintf F > GLIBC_2.2.6 drand48 F > @@ -2213,6 +2214,7 @@ GLIBC_2.34 _hurd_libc_proc_init F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 5b9579b3d2..e4fe2ccab6 100644 > --- a/sysdeps/mach/hurd/i386/libdl.abilist > +++ b/sysdeps/mach/hurd/i386/libdl.abilist > @@ -1,5 +1,4 @@ > GLIBC_2.2.6 dlopen F > -GLIBC_2.2.6 dlsym F > GLIBC_2.2.6 dlvsym F > GLIBC_2.3.3 dladdr1 F > GLIBC_2.3.3 dlinfo F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index f912cea6a0..9da6e869fa 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -721,6 +721,7 @@ GLIBC_2.17 dl_iterate_phdr F > GLIBC_2.17 dladdr F > GLIBC_2.17 dlclose F > GLIBC_2.17 dlerror F > +GLIBC_2.17 dlsym F > GLIBC_2.17 dngettext F > GLIBC_2.17 dprintf F > GLIBC_2.17 drand48 F > @@ -2348,6 +2349,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 731d6a1377..d3822d83fc 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.17 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index c0dfb9be95..1c9805a7f4 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2440,6 +2441,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index c2a4c1f9ba..1a83cb2288 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -666,6 +666,7 @@ GLIBC_2.32 dl_iterate_phdr F > GLIBC_2.32 dladdr F > GLIBC_2.32 dlclose F > GLIBC_2.32 dlerror F > +GLIBC_2.32 dlsym F > GLIBC_2.32 dngettext F > GLIBC_2.32 dprintf F > GLIBC_2.32 drand48 F > @@ -2107,6 +2108,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 1c818309f2..74e8c10002 100644 > --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.32 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index db80c07019..b49c187be7 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -210,6 +210,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym F > GLIBC_2.34 execveat F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > @@ -1023,6 +1024,7 @@ GLIBC_2.4 dl_iterate_phdr F > GLIBC_2.4 dladdr F > GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > +GLIBC_2.4 dlsym 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 69ffaf4edf..816b953a69 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index 3600075a47..7f49a4977f 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -207,6 +207,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 dl_iterate_phdr F > GLIBC_2.4 dladdr F > GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > +GLIBC_2.4 dlsym 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 69ffaf4edf..816b953a69 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index d7beb5db45..f060c2b0d5 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -702,6 +702,7 @@ GLIBC_2.29 dl_iterate_phdr F > GLIBC_2.29 dladdr F > GLIBC_2.29 dlclose F > GLIBC_2.29 dlerror F > +GLIBC_2.29 dlsym F > GLIBC_2.29 dngettext F > GLIBC_2.29 dprintf F > GLIBC_2.29 drand48 F > @@ -2291,6 +2292,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 2c8047a614..78edf27275 100644 > --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.29 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 59b0e421a7..bd4bbe548d 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -1,6 +1,7 @@ > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > GLIBC_2.10 accept4 F > @@ -2244,6 +2245,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index e33dd7d91e..c781b36839 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2428,6 +2429,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index 772b686c1d..f0af999f5d 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -1,6 +1,7 @@ > GLIBC_2.0 dladdr F > GLIBC_2.0 dlclose F > GLIBC_2.0 dlerror F > +GLIBC_2.0 dlsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > GLIBC_2.10 accept4 F > @@ -2280,6 +2281,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 6ee063131e..8b58481a8c 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -211,6 +211,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym F > GLIBC_2.34 execveat F > GLIBC_2.34 mtx_destroy F > GLIBC_2.34 mtx_init F > @@ -1012,6 +1013,7 @@ GLIBC_2.4 dl_iterate_phdr F > GLIBC_2.4 dladdr F > GLIBC_2.4 dlclose F > GLIBC_2.4 dlerror F > +GLIBC_2.4 dlsym 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 69ffaf4edf..816b953a69 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.4 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index 9fb78fd4fd..d4f2220a6a 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2371,6 +2372,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index 6ba6e439c5..d443e72888 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -723,6 +723,7 @@ GLIBC_2.18 dl_iterate_phdr F > GLIBC_2.18 dladdr F > GLIBC_2.18 dlclose F > GLIBC_2.18 dlerror F > +GLIBC_2.18 dlsym F > GLIBC_2.18 dngettext F > GLIBC_2.18 dprintf F > GLIBC_2.18 drand48 F > @@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 721e823b1b..9f0b07e50d 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.18 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index b3d12892e6..5d899de9e1 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -723,6 +723,7 @@ GLIBC_2.18 dl_iterate_phdr F > GLIBC_2.18 dladdr F > GLIBC_2.18 dlclose F > GLIBC_2.18 dlerror F > +GLIBC_2.18 dlsym F > GLIBC_2.18 dngettext F > GLIBC_2.18 dprintf F > GLIBC_2.18 drand48 F > @@ -2339,6 +2340,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 721e823b1b..9f0b07e50d 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.18 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index 43fe36e7d1..80f71d2c9d 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 d8aab2a6de..e79fbf179b 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.0 dlsym F > GLIBC_2.2 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index 699ad445f7..041df76409 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2334,6 +2335,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 d8aab2a6de..e79fbf179b 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.0 dlsym F > GLIBC_2.2 dlopen F > GLIBC_2.2 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 3da887b94b..9d741ee23b 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 8c34936cc0..eb2b387ce6 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 e1bc50caf5..91e8dac129 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -766,6 +766,7 @@ GLIBC_2.21 dl_iterate_phdr F > GLIBC_2.21 dladdr F > GLIBC_2.21 dlclose F > GLIBC_2.21 dlerror F > +GLIBC_2.21 dlsym F > GLIBC_2.21 dngettext F > GLIBC_2.21 dprintf F > GLIBC_2.21 drand48 F > @@ -2381,6 +2382,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 835ee02768..354d0b0f1f 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.21 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index 8c3c1bb5c5..3531cf9744 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2398,6 +2399,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index 018f9c0253..b2610134a9 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2431,6 +2432,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 330f5fdc1a..cb9457053d 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 dlsym F > GLIBC_2.3 dngettext F > GLIBC_2.3 dprintf F > GLIBC_2.3 drand48 F > @@ -2245,6 +2246,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 4446495717..5344e7141c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist > @@ -1,5 +1,4 @@ > GLIBC_2.3 dlopen F > -GLIBC_2.3 dlsym F > GLIBC_2.3 dlvsym F > GLIBC_2.3.3 dladdr1 F > GLIBC_2.3.3 dlinfo F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index b770ac88b3..43e579db72 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -809,6 +809,7 @@ GLIBC_2.17 dl_iterate_phdr F > GLIBC_2.17 dladdr F > GLIBC_2.17 dlclose F > GLIBC_2.17 dlerror F > +GLIBC_2.17 dlsym F > GLIBC_2.17 dngettext F > GLIBC_2.17 dprintf F > GLIBC_2.17 drand48 F > @@ -2544,6 +2545,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 731d6a1377..d3822d83fc 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.17 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index ea14f58edb..fe9784bfe7 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -659,6 +659,7 @@ GLIBC_2.33 dl_iterate_phdr F > GLIBC_2.33 dladdr F > GLIBC_2.33 dlclose F > GLIBC_2.33 dlerror F > +GLIBC_2.33 dlsym F > GLIBC_2.33 dngettext F > GLIBC_2.33 dprintf F > GLIBC_2.33 drand48 F > @@ -2109,6 +2110,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 b140aa0b09..12113b56ff 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.33 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index 5c2a87a3b0..241850b78d 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -700,6 +700,7 @@ GLIBC_2.27 dl_iterate_phdr F > GLIBC_2.27 dladdr F > GLIBC_2.27 dlclose F > GLIBC_2.27 dlerror F > +GLIBC_2.27 dlsym F > GLIBC_2.27 dngettext F > GLIBC_2.27 dprintf F > GLIBC_2.27 drand48 F > @@ -2309,6 +2310,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 3536869c77..e42f9d97a8 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.27 dladdr1 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 > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 937a3ba942..72baa14350 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2396,6 +2397,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index cce8034393..2e58f6151b 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 dlsym F > GLIBC_2.2 dngettext F > GLIBC_2.2 dprintf F > GLIBC_2.2 drand48 F > @@ -2282,6 +2283,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 c995dec160..97dcae5bf1 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist > @@ -1,5 +1,4 @@ > GLIBC_2.2 dlopen F > -GLIBC_2.2 dlsym F > GLIBC_2.2 dlvsym F > GLIBC_2.3.3 dladdr1 F > GLIBC_2.3.3 dlinfo F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index 28154a96dd..ab113c966d 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -5,6 +5,7 @@ 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 dlsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > GLIBC_2.10 accept4 F > @@ -2251,6 +2252,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index d9a16e9ccf..e733d13430 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -5,6 +5,7 @@ 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 dlsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > GLIBC_2.10 accept4 F > @@ -2248,6 +2249,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 98e6db33fe..0534abb5b4 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 dlsym F > GLIBC_2.0 dprintf F > GLIBC_2.0 drand48 F > GLIBC_2.0 drand48_r F > @@ -2389,6 +2390,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index 479a1b38a6..89e1646f02 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -5,6 +5,7 @@ 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 dlsym F > GLIBC_2.10 __cxa_at_quick_exit F > GLIBC_2.10 __posix_getopt F > GLIBC_2.10 accept4 F > @@ -2301,6 +2302,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 25cf9cd21e..9019e8db65 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.0 dlsym F > GLIBC_2.1 dlopen F > GLIBC_2.1 dlvsym F > GLIBC_2.3.3 dladdr1 F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 3c6750b3a4..842a613fdb 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 dlsym F > GLIBC_2.2.5 dngettext F > GLIBC_2.2.5 dprintf F > GLIBC_2.2.5 drand48 F > @@ -2260,6 +2261,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 28f001d6ec..a43447856f 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist > @@ -1,5 +1,4 @@ > GLIBC_2.2.5 dlopen F > -GLIBC_2.2.5 dlsym F > GLIBC_2.2.5 dlvsym F > GLIBC_2.3.3 dladdr1 F > GLIBC_2.3.3 dlinfo F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index 0bfba9edbc..5e8c5a64f2 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -725,6 +725,7 @@ GLIBC_2.16 dl_iterate_phdr F > GLIBC_2.16 dladdr F > GLIBC_2.16 dlclose F > GLIBC_2.16 dlerror F > +GLIBC_2.16 dlsym F > GLIBC_2.16 dngettext F > GLIBC_2.16 dprintf F > GLIBC_2.16 drand48 F > @@ -2363,6 +2364,7 @@ GLIBC_2.34 cnd_wait F > GLIBC_2.34 dladdr F > GLIBC_2.34 dlclose F > GLIBC_2.34 dlerror F > +GLIBC_2.34 dlsym 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 f61c4a59d3..7586a5f0b7 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist > @@ -2,5 +2,4 @@ GLIBC_2.16 dladdr1 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 > Ok.