From patchwork Mon May 31 14:11:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43625 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 625523848015; Mon, 31 May 2021 14:11:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 625523848015 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470279; bh=JE9x83L0ZCSr2L/2mcDZKojb6+9azIRR/f7GGjNYOCU=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=vzp0DoRtzC8fcMKxqu3xmm3oKOLTSCQF6ELXFnpnjXP6YT7A60D12yCiFh3M+PGYS nXt8uWnv+qt/GAl2J/xtz0dzYiWiAwnPEDu2apK8jQe6yiqTUpTTjIzNoLrjJc26hM urOFPPK6yQDBiGYS5+sU4Azh5ek92BRwl6MCyIwg= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 435833857403 for ; Mon, 31 May 2021 14:11:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 435833857403 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-412-Ht4mhdd4OGu_noLBz1UwCw-1; Mon, 31 May 2021 10:11:14 -0400 X-MC-Unique: Ht4mhdd4OGu_noLBz1UwCw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9AE28501E1 for ; Mon, 31 May 2021 14:11:13 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 06E0E60C0F for ; Mon, 31 May 2021 14:11:12 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v2 01/16] stdio-common: Remove _IO_vfwscanf In-Reply-To: References: X-From-Line: 09aaf7bc489ed6504ed591f0453e21c49204e849 Mon Sep 17 00:00:00 2001 Message-Id: <09aaf7bc489ed6504ed591f0453e21c49204e849.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:10 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol has never been exported, so no compatibility symbol is needed. Removing this file prevents ld from creation an exported symbol in case GLIBC_2_0 expands to a symbol version which does not have a local: *; directive in the symbol version map file. Reviewed-by: Adhemerval Zanella --- libio/libio.h | 2 -- stdio-common/Makefile | 2 +- stdio-common/iovfwscanf.c | 38 --------------------- sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 1 - 4 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 stdio-common/iovfwscanf.c diff --git a/libio/libio.h b/libio/libio.h index 511b39457f..98d526dec7 100644 --- a/libio/libio.h +++ b/libio/libio.h @@ -254,8 +254,6 @@ weak_extern (_IO_stdin_used); __result = _IO_fwide (__fp, __result); \ __result; }) -extern int _IO_vfwscanf (FILE * __restrict, const wchar_t * __restrict, - __gnuc_va_list, int *__restrict); extern __ssize_t _IO_wpadn (FILE *, wint_t, __ssize_t); extern void _IO_free_wbackup_area (FILE *) __THROW; diff --git a/stdio-common/Makefile b/stdio-common/Makefile index b2458ba4a6..f87796a8ce 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -40,7 +40,7 @@ routines := \ isoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \ isoc99_vsscanf \ psiginfo gentempfd \ - vfscanf-internal vfwscanf-internal iovfscanf iovfwscanf \ + vfscanf-internal vfwscanf-internal iovfscanf \ vfprintf-internal vfwprintf-internal aux := errlist siglist printf-parsemb printf-parsewc fxprintf diff --git a/stdio-common/iovfwscanf.c b/stdio-common/iovfwscanf.c deleted file mode 100644 index 56b6b3b0d5..0000000000 --- a/stdio-common/iovfwscanf.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Implementation and symbols for _IO_vfwscanf. - Copyright (C) 1991-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - -/* This function is provided for ports older than GLIBC 2.29 because - external callers could theoretically exist. Newer ports do not need, - since it is not part of the API. */ -#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_29) - -int -attribute_compat_text_section -__IO_vfwscanf (FILE *fp, const wchar_t *format, va_list ap, int *errp) -{ - int rv = __vfwscanf_internal (fp, format, ap, 0); - if (__glibc_unlikely (errp != 0)) - *errp = (rv == -1); - return rv; -} -compat_symbol (libc, __IO_vfwscanf, _IO_vfwscanf, GLIBC_2_0); - -#endif diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile index 7b42746c34..67d476383a 100644 --- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile @@ -325,7 +325,6 @@ ldbl-ibm128-files := $(objpfx)test-%-ibm128^ \ $(objpfx)iovsscanf^ \ $(objpfx)iovswscanf^ \ $(objpfx)iovfscanf^ \ - $(objpfx)iovfwscanf^ \ $(objpfx)mpn2ldbl^ \ $(objpfx)ldbl2mpn^ \ $(objpfx)strtold_nan^ \ From patchwork Mon May 31 14:11:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43626 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EEA353847802; Mon, 31 May 2021 14:11:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EEA353847802 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470286; bh=PksZNaBUtGJTvc3flXtbSjEAXI2pQSMgLeg0jZJq0gA=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=sHQcHUNU99iodtCvxEL7douFdWoODHEsgquOb/LxV69VBt+kBBvHxCdP6Ip4dp/xA /Ob/lSn63nTi46by2Y7qas3sykEuAVcB0A4YVZwFsMknCvgHNDFs47K/jcRsWc5q2G cbQI7lVTTSCo0C15Wv665UFn9145r34gOUT/+OZU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 7E185384800F for ; Mon, 31 May 2021 14:11:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7E185384800F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-454-nlVLD2o6PyGulE8K1sUELA-1; Mon, 31 May 2021 10:11:20 -0400 X-MC-Unique: nlVLD2o6PyGulE8K1sUELA-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 79239501E6 for ; Mon, 31 May 2021 14:11:19 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 906955D9C0 for ; Mon, 31 May 2021 14:11:18 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 02/16] Add missing symbols to Version files In-Reply-To: References: X-From-Line: 58bd341ffc4898190667fbca35dd5b313b83baae Mon Sep 17 00:00:00 2001 Message-Id: <58bd341ffc4898190667fbca35dd5b313b83baae.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:16 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Some symbols have explicit versioned_symbol or compat_symbol markers in the sources, but no corresponding entry in the Versions files. This presently works because the local: * directive is only applied to the base version. Reviewed-by: Adhemerval Zanella --- inet/Versions | 2 +- io/Versions | 1 + libio/Versions | 2 ++ nptl/Versions | 8 ++++++++ posix/Versions | 4 ++++ sysdeps/mach/hurd/i386/Versions | 3 +++ sysdeps/unix/sysv/linux/Versions | 12 ++++++++++++ sysdeps/unix/sysv/linux/alpha/Versions | 10 ++++------ sysdeps/unix/sysv/linux/i386/Versions | 4 ---- sysdeps/unix/sysv/linux/ia64/Versions | 10 ++++------ sysdeps/unix/sysv/linux/mips/Versions | 4 ++++ sysdeps/unix/sysv/linux/powerpc/Versions | 4 ++++ sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions | 8 +------- sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions | 7 +------ sysdeps/unix/sysv/linux/s390/s390-32/Versions | 3 --- sysdeps/unix/sysv/linux/sh/Versions | 3 --- sysdeps/unix/sysv/linux/sparc/Versions | 11 ++++------- sysdeps/unix/sysv/linux/sparc/sparc32/Versions | 3 --- 18 files changed, 53 insertions(+), 46 deletions(-) diff --git a/inet/Versions b/inet/Versions index 9b3661e046..c0a2ad202d 100644 --- a/inet/Versions +++ b/inet/Versions @@ -53,7 +53,7 @@ libc { getaliasbyname_r; getaliasent_r; gethostbyaddr_r; gethostbyname2_r; gethostbyname_r; gethostent_r; getnetbyaddr_r; getnetbyname_r; getnetent_r; getnetgrent_r; getprotobyname_r; getprotobynumber_r; - getprotoent_r; getservbyname_r; + getprotoent_r; getservbyname_r; getservbyport_r; getservent_r; } GLIBC_2.2 { # i* diff --git a/io/Versions b/io/Versions index 49c4d2d40a..88caf76bbc 100644 --- a/io/Versions +++ b/io/Versions @@ -129,6 +129,7 @@ libc { copy_file_range; } GLIBC_2.28 { + fcntl; fcntl64; statx; } diff --git a/libio/Versions b/libio/Versions index 6f1ab96100..01fc065577 100644 --- a/libio/Versions +++ b/libio/Versions @@ -92,6 +92,8 @@ libc { # Changed getline function in libio. _IO_getline_info; + _IO_fgetpos64; _IO_fsetpos64; + # f* fgetpos64; fopen64; freopen64; fseeko; fseeko64; fsetpos64; ftello; ftello64; fopen; fclose; fdopen; fread_unlocked; fwrite_unlocked; diff --git a/nptl/Versions b/nptl/Versions index af62a47cca..b8b82991fd 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -175,6 +175,7 @@ libc { GLIBC_2.3.4 { pthread_attr_getaffinity_np; pthread_attr_setaffinity_np; + pthread_getaffinity_np; pthread_setaffinity_np; pthread_setschedprio; } @@ -258,6 +259,7 @@ libc { __pthread_register_cancel_defer; __pthread_unregister_cancel; __pthread_unregister_cancel_restore; + __pthread_unwind_next; call_once; cnd_broadcast; cnd_destroy; @@ -294,6 +296,7 @@ libc { pthread_condattr_getpshared; pthread_condattr_setclock; pthread_condattr_setpshared; + pthread_create; pthread_detach; pthread_getattr_default_np; pthread_getconcurrency; @@ -308,9 +311,12 @@ libc { pthread_mutex_consistent; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; + pthread_mutex_timedlock; + pthread_mutex_trylock; pthread_mutexattr_destroy; pthread_mutexattr_getprioceiling; pthread_mutexattr_getprotocol; + pthread_mutexattr_getpshared; pthread_mutexattr_getrobust; pthread_mutexattr_gettype; pthread_mutexattr_init; @@ -323,6 +329,7 @@ libc { pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; pthread_rwlock_destroy; + pthread_rwlock_init; pthread_rwlock_rdlock; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; @@ -336,6 +343,7 @@ libc { pthread_rwlockattr_init; pthread_rwlockattr_setkind_np; pthread_rwlockattr_setpshared; + pthread_setaffinity_np; pthread_setattr_default_np; pthread_setconcurrency; pthread_setname_np; diff --git a/posix/Versions b/posix/Versions index b77e251e00..5983144d01 100644 --- a/posix/Versions +++ b/posix/Versions @@ -138,6 +138,10 @@ libc { GLIBC_2.11 { execvpe; } + GLIBC_2.15 { + posix_spawn; + posix_spawnp; + } GLIBC_2.27 { glob; glob64; } diff --git a/sysdeps/mach/hurd/i386/Versions b/sysdeps/mach/hurd/i386/Versions index 67e6d94204..69572f46f5 100644 --- a/sysdeps/mach/hurd/i386/Versions +++ b/sysdeps/mach/hurd/i386/Versions @@ -7,4 +7,7 @@ libc { GLIBC_2.2.6 { ioperm; } + GLIBC_2.3.3 { + posix_fadvise64; posix_fallocate64; + } } diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 220bb2dffe..47f5d198ba 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -86,6 +86,16 @@ libc { # ipc ctl interface change. semctl; shmctl; msgctl; + + # Old symbol versions from libpthread. + __pread64; + __pwrite64; + lseek64; + open64; + pread; + pread64; + pwrite; + pwrite64; } GLIBC_2.2.1 { # p* @@ -103,6 +113,8 @@ libc { } GLIBC_2.3.3 { gnu_dev_major; gnu_dev_minor; gnu_dev_makedev; + _sys_siglist; sys_siglist; sys_sigabbrev; + posix_fadvise64; posix_fallocate64; } GLIBC_2.3.4 { sched_getaffinity; sched_setaffinity; diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions index b90d5f2e5a..b157e2694a 100644 --- a/sysdeps/unix/sysv/linux/alpha/Versions +++ b/sysdeps/unix/sysv/linux/alpha/Versions @@ -64,6 +64,10 @@ libc { GLIBC_2.3 { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } + GLIBC_2.3.3 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } GLIBC_2.4 { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } @@ -85,12 +89,6 @@ ld { __libc_alpha_cache_shape; } } -libpthread { - GLIBC_2.3.3 { - # Changed PTHREAD_STACK_MIN. - pthread_attr_setstack; pthread_attr_setstacksize; - } -} librt { GLIBC_2.3 { # AIO functions. diff --git a/sysdeps/unix/sysv/linux/i386/Versions b/sysdeps/unix/sysv/linux/i386/Versions index b59ace48da..1335e6551b 100644 --- a/sysdeps/unix/sysv/linux/i386/Versions +++ b/sysdeps/unix/sysv/linux/i386/Versions @@ -33,10 +33,6 @@ libc { # v* versionsort64; } - GLIBC_2.3.3 { - # p* - posix_fadvise64; posix_fallocate64; - } GLIBC_2.3.4 { # v* vm86; diff --git a/sysdeps/unix/sysv/linux/ia64/Versions b/sysdeps/unix/sysv/linux/ia64/Versions index 214e6f9f1a..f6994151aa 100644 --- a/sysdeps/unix/sysv/linux/ia64/Versions +++ b/sysdeps/unix/sysv/linux/ia64/Versions @@ -14,6 +14,10 @@ libc { # w* wordexp; } + GLIBC_2.3.3 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } GLIBC_2.2.6 { getunwind; } @@ -21,12 +25,6 @@ libc { recvmsg; sendmsg; } } -libpthread { - GLIBC_2.3.3 { - # Changed PTHREAD_STACK_MIN. - pthread_attr_setstack; pthread_attr_setstacksize; - } -} librt { GLIBC_2.3.3 { # Changed timer_t. diff --git a/sysdeps/unix/sysv/linux/mips/Versions b/sysdeps/unix/sysv/linux/mips/Versions index aeaac41744..9c6f909e0d 100644 --- a/sysdeps/unix/sysv/linux/mips/Versions +++ b/sysdeps/unix/sysv/linux/mips/Versions @@ -21,6 +21,10 @@ libc { # _* _test_and_set; } + GLIBC_2.3.3 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } GLIBC_2.11 { fallocate64; } diff --git a/sysdeps/unix/sysv/linux/powerpc/Versions b/sysdeps/unix/sysv/linux/powerpc/Versions index 416272b718..6778adf5c7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/Versions @@ -1,4 +1,8 @@ libc { + GLIBC_2.6 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } GLIBC_PRIVATE { __vdso_get_tbfreq; __vdso_clock_gettime; diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions index ee505efb9e..0e6c8692b0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions @@ -21,10 +21,10 @@ libc { scandir64; } GLIBC_2.3.3 { - posix_fadvise64; posix_fallocate64; setcontext; getcontext; swapcontext; makecontext; } GLIBC_2.3.4 { + longjmp; siglongjmp; setcontext; getcontext; swapcontext; makecontext; } GLIBC_2.11 { @@ -34,9 +34,3 @@ libc { __ppc_get_timebase_freq; } } - -libpthread { - GLIBC_2.3.4 { - longjmp; siglongjmp; - } -} diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions index 7a166f2400..13717b2c5e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions @@ -18,6 +18,7 @@ libc { getcontext; setcontext; swapcontext; + longjmp; siglongjmp; } GLIBC_2.17 { __ppc_get_timebase_freq; @@ -31,9 +32,3 @@ librt { timer_settime; } } - -libpthread { - GLIBC_2.3.4 { - longjmp; siglongjmp; - } -} diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/Versions b/sysdeps/unix/sysv/linux/s390/s390-32/Versions index 99193982a7..cc03e70015 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/Versions +++ b/sysdeps/unix/sysv/linux/s390/s390-32/Versions @@ -26,9 +26,6 @@ libc { # v* versionsort64; } - GLIBC_2.3.3 { - posix_fadvise64; posix_fallocate64; - } GLIBC_2.9 { getutent; getutid; diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions index e0938c4165..19ba1d8d91 100644 --- a/sysdeps/unix/sysv/linux/sh/Versions +++ b/sysdeps/unix/sysv/linux/sh/Versions @@ -21,9 +21,6 @@ libc { # v* versionsort64; } - GLIBC_2.3.3 { - posix_fadvise64; posix_fallocate64; - } GLIBC_2.11 { fallocate64; } diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions index 61e57fae99..c4ec7ab537 100644 --- a/sysdeps/unix/sysv/linux/sparc/Versions +++ b/sysdeps/unix/sysv/linux/sparc/Versions @@ -8,6 +8,10 @@ libc { GLIBC_2.3 { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } + GLIBC_2.3.3 { + # Changed PTHREAD_STACK_MIN. + pthread_attr_setstack; pthread_attr_setstacksize; + } GLIBC_2.4 { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; } @@ -25,13 +29,6 @@ libc { } } -libpthread { - GLIBC_2.3.3 { - # Changed PTHREAD_STACK_MIN. - pthread_attr_setstack; pthread_attr_setstacksize; - } -} - librt { GLIBC_2.3 { # AIO functions. diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions index c9a5b3e9d5..d928a65346 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions @@ -17,9 +17,6 @@ libc { # s* scandir64; } - GLIBC_2.3.3 { - posix_fadvise64; posix_fallocate64; - } GLIBC_2.11 { fallocate64; } From patchwork Mon May 31 14:11:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43627 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EF57D3898535; Mon, 31 May 2021 14:11:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EF57D3898535 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470292; bh=5/AkUMbRR51J6TjfnwkYxEzQH6wEPLOftEi5ov3T24M=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=EebNQjDW7L5RrX0OS8ziFbewdPWPOl0krJ7ZuxhwcCevdVZ7LKGcwNT4XUomLC+bl hqjKlUF2BiMb/v4+uPKlJaOELEwPySZr290yYKdqL7Ye28lkHHyonfaQz6uQaBcukY HFT9dl0GG004rJsuEaJHs2UmDgy/oqgUibTJpq3I= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 9A3F5389852F for ; Mon, 31 May 2021 14:11:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9A3F5389852F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-271-ulI66bnMMYqmS1KIvjkGyw-1; Mon, 31 May 2021 10:11:27 -0400 X-MC-Unique: ulI66bnMMYqmS1KIvjkGyw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8B4CB501EC for ; Mon, 31 May 2021 14:11:26 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E38A35C1B4 for ; Mon, 31 May 2021 14:11:25 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 03/16] scripts/versions.awk: Add local: * to all version nodes In-Reply-To: References: X-From-Line: 1d01e695b5103609157347b5008d822c2fd02770 Mon Sep 17 00:00:00 2001 Message-Id: <1d01e695b5103609157347b5008d822c2fd02770.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:23 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This requires that all exported symbol versions are listed in Versions files. It results in more consistent behavior across architectures because previously, symbols could be exported via explicit versioned_symbol and compat_symbol clauses if the version node existed in some Versions file (without listing the symbol) and it was not the base version for the library. Reviewed-by: Adhemerval Zanella --- scripts/versions.awk | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/versions.awk b/scripts/versions.awk index 3291123666..a7154480e3 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -95,10 +95,7 @@ function ord(c) { function closeversion(name, oldname) { - if (firstinfile) { - printf(" local:\n *;\n") > outfile; - firstinfile = 0; - } + printf(" local:\n *;\n") > outfile; # This version inherits from the last one only if they # have the same nonnumeric prefix, i.e. GLIBC_x.y and GLIBC_x.z # or FOO_x and FOO_y but not GLIBC_x and FOO_y. @@ -157,7 +154,6 @@ END { oldlib = $1; real_outfile = buildroot oldlib ".map"; outfile = real_outfile "T"; - firstinfile = 1; veryoldver = ""; printf(" %s.map", oldlib); } From patchwork Mon May 31 14:11:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43628 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 871C03898520; Mon, 31 May 2021 14:11:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 871C03898520 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470303; bh=k1umU18kfr7/WqcFdBVjdGCU3qWGM9quOFMDwGhT/Wg=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=xu4fzHttjOsbSYhX+IVP190GagEmb364FLKX7/QcuT08D/MO6LM6Afc0qo6OcpaTX dlDb8G/UGNiOrOXk3+pJJ+pjgnlpTqwYheT7fi+KPLSrWc1x889eLIN56fKttobAos qVvo155iR2mKjvxEQSkFFwk0S6ySmRLiF68n8u1I= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id EEA733848010 for ; Mon, 31 May 2021 14:11:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EEA733848010 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-438-_jrWW1aFNSKVzue85daUCA-1; Mon, 31 May 2021 10:11:37 -0400 X-MC-Unique: _jrWW1aFNSKVzue85daUCA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C0E74803626 for ; Mon, 31 May 2021 14:11:36 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 29DA919C71 for ; Mon, 31 May 2021 14:11:35 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v2 04/16] Add libc ABI extension kludge for baseline-violating libdl symbols In-Reply-To: References: X-From-Line: 84f59adc6d3b0b84d2ce8ab94e91e1a08a33989e Mon Sep 17 00:00:00 2001 Message-Id: <84f59adc6d3b0b84d2ce8ab94e91e1a08a33989e.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:34 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Some targets have a GLIBC_2.0 baseline for libdl, while using GLIBC_2.2 for libc. This means that the generated libc.map file does not have any version nodes for GLIBC_2.0 or GLIBC_2.1. However, moving symbols from libdl into libc needs such version nodes. (Future symbol moves from librt will need this as well.) This kludge is only necessary for symbols predating GLIBC_2.2 because the affected targets use GLIBC_2.2 as the baseline for libc. Given the small number and fixexd set of affected architectures, no generic mechanism is implemented, and instead the map file fragment is hard-coded in scripts/versions.mk. The compat_symbol macro already emits the appropriate version strings, so no adjustments are needed there. Reviewed-by: Adhemerval Zanella --- scripts/versions.awk | 26 ++++++++++++++++++- sysdeps/unix/sysv/linux/hppa/Versions | 1 + sysdeps/unix/sysv/linux/ia64/Versions | 1 + sysdeps/unix/sysv/linux/sh/Versions | 1 + .../unix/sysv/linux/sparc/sparc64/Versions | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/scripts/versions.awk b/scripts/versions.awk index a7154480e3..1e8d8e4dc5 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -93,6 +93,26 @@ function ord(c) { printf("%s %s %s\n", actlib, sortver, $0) | sort; } +# Some targets do not set the ABI baseline for libdl. As a result, +# symbols originally in libdl need to be moved under historic symbol +# versions, without altering the baseline version for libc itself. +/^ *!libc_abi_extension/ { + libc_abi_extension_active = 1; +} + +function libc_abi_extension() { + # No local: * here, so that we do not have to update this script + # if symbols are moved into libc. The abilist files and the other + # targets (with a real GLIBC_2.0 baseline) provide testing + # coverage. + printf("\ +GLIBC_2.0 {\n\ +};\n\ +GLIBC_2.1 {\n\ +} GLIBC_2.0;\n\ +") > outfile; + return "GLIBC_2.1"; +} function closeversion(name, oldname) { printf(" local:\n *;\n") > outfile; @@ -154,7 +174,11 @@ END { oldlib = $1; real_outfile = buildroot oldlib ".map"; outfile = real_outfile "T"; - veryoldver = ""; + if ($1 == "libc" && libc_abi_extension_active) { + veryoldver = libc_abi_extension(); + } else { + veryoldver = ""; + } printf(" %s.map", oldlib); } if ($2 != oldver) { diff --git a/sysdeps/unix/sysv/linux/hppa/Versions b/sysdeps/unix/sysv/linux/hppa/Versions index 9532d207fc..8969fc08af 100644 --- a/sysdeps/unix/sysv/linux/hppa/Versions +++ b/sysdeps/unix/sysv/linux/hppa/Versions @@ -1,3 +1,4 @@ +!libc_abi_extension libc { GLIBC_2.1 { _sys_errlist; sys_errlist; _sys_nerr; sys_nerr; diff --git a/sysdeps/unix/sysv/linux/ia64/Versions b/sysdeps/unix/sysv/linux/ia64/Versions index f6994151aa..7cac57a8e1 100644 --- a/sysdeps/unix/sysv/linux/ia64/Versions +++ b/sysdeps/unix/sysv/linux/ia64/Versions @@ -1,3 +1,4 @@ +!libc_abi_extension libc { GLIBC_2.2 { ioperm; iopl; diff --git a/sysdeps/unix/sysv/linux/sh/Versions b/sysdeps/unix/sysv/linux/sh/Versions index 19ba1d8d91..fc89ff1c18 100644 --- a/sysdeps/unix/sysv/linux/sh/Versions +++ b/sysdeps/unix/sysv/linux/sh/Versions @@ -1,3 +1,4 @@ +!libc_abi_extension libc { GLIBC_2.2 { # functions used in other libraries diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions index fbea1bb2ef..3059d56f80 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions @@ -1,3 +1,4 @@ +!libc_abi_extension libc { GLIBC_2.0 { # Exception handling support functions from libgcc From patchwork Mon May 31 14:11:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43629 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2473A38A4475; Mon, 31 May 2021 14:11:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2473A38A4475 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470313; bh=NGUfN/Rrvu9q5nsy7Uu4nBl2lb8tzNjrqwgzMEUP7Pc=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NCm+Gm9N24pa+dDrOAlRrbLqLTlHlKX9RHPkyUUBDYhSpTl1sGIG3ID32e6RAHtYj A7IGSoUjz8Q6/t7b08C6vVvZSD9W0uCj0iixFKZmG90GdahJKbeKLEkG9i3EBDzhgE 8B7SjKkNDeGRNXi87bI+jAwWw8wTiSqJlOb8SyCc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id E6E3C3847819 for ; Mon, 31 May 2021 14:11:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E6E3C3847819 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-270-qIwhZKPbOnWVKfFMMknNfQ-1; Mon, 31 May 2021 10:11:44 -0400 X-MC-Unique: qIwhZKPbOnWVKfFMMknNfQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8B475801107 for ; Mon, 31 May 2021 14:11:43 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 025C75D740 for ; Mon, 31 May 2021 14:11:41 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 05/16] dlfcn: Move dlerror into libc In-Reply-To: References: X-From-Line: eeb5178e66d9d905c5629b7d09a9a564d916a731 Mon Sep 17 00:00:00 2001 Message-Id: Date: Mon, 31 May 2021 16:11:39 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. There is a minor functionality enhancement: dlerror now sets errno if it was set as part of the exception. (This is the result of using %m in asprintf, to avoid the strerror PLT call.) The previous errno value upon function return was unpredictable. Documenting this as a feature is premature; we need to make sure that the error codes are meaningful when they are set by the dynamic loader. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 6 ++- dlfcn/Versions | 13 ++++-- dlfcn/dlerror.c | 43 ++++++++----------- dlfcn/sdlerror.c | 1 - include/dlfcn.h | 8 ++-- 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 - 68 files changed, 101 insertions(+), 66 deletions(-) delete mode 100644 dlfcn/sdlerror.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index 994a3afee6..b194762d3e 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,11 +21,13 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \ +libdl-routines := dlopen dlclose dlsym dlvsym dladdr dladdr1 dlinfo \ dlmopen dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) -routines += libc_dlerror_result +routines += \ + dlerror \ + libc_dlerror_result \ extra-libs-others := libdl diff --git a/dlfcn/Versions b/dlfcn/Versions index f07cb929aa..e7a6081d60 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -1,11 +1,19 @@ libc { + GLIBC_2.0 { + dlerror; + } + GLIBC_2.34 { + dlerror; + } GLIBC_PRIVATE { __libc_dlerror_result; + _dlerror_run; + _dlfcn_hook; } } libdl { GLIBC_2.0 { - dladdr; dlclose; dlerror; dlopen; dlsym; + dladdr; dlclose; dlopen; dlsym; } GLIBC_2.1 { dlopen; dlvsym; @@ -16,7 +24,4 @@ libdl { GLIBC_2.3.4 { dlmopen; } - GLIBC_PRIVATE { - _dlfcn_hook; - } } diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index 7db70a26d0..3df8602f4d 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -28,16 +28,6 @@ #include #include -#if !defined SHARED && IS_IN (libdl) - -char * -dlerror (void) -{ - return __dlerror (); -} - -#else - char * __dlerror (void) { @@ -86,11 +76,15 @@ __dlerror (void) result->objname[0] == '\0' ? "" : ": ", _(result->errstring)); else - n = __asprintf (&buf, "%s%s%s: %s", - result->objname, - result->objname[0] == '\0' ? "" : ": ", - _(result->errstring), - strerror (result->errcode)); + { + __set_errno (result->errcode); + n = __asprintf (&buf, "%s%s%s: %m", + result->objname, + result->objname[0] == '\0' ? "" : ": ", + _(result->errstring)); + /* Set errno again in case asprintf clobbered it. */ + __set_errno (result->errcode); + } /* Mark the error as delivered. */ result->returned = true; @@ -108,9 +102,11 @@ __dlerror (void) existing string as a fallback. */ return result->errstring; } -# ifdef SHARED -strong_alias (__dlerror, dlerror) -# endif +versioned_symbol (libc, __dlerror, dlerror, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libdl, __dlerror, dlerror, GLIBC_2_0); +#endif int _dlerror_run (void (*operate) (void *), void *args) @@ -200,13 +196,13 @@ _dlerror_run (void (*operate) (void *), void *args) return 1; } } +libc_hidden_def (_dlerror_run) -# ifdef SHARED - +#ifdef SHARED struct dlfcn_hook *_dlfcn_hook __attribute__((nocommon)); -libdl_hidden_data_def (_dlfcn_hook) +libc_hidden_data_def (_dlfcn_hook) -# else +#else /* !SHARED */ static struct dlfcn_hook _dlfcn_hooks = { @@ -230,5 +226,4 @@ __libc_register_dlfcn_hook (struct link_map *map) if (hook != NULL) *hook = &_dlfcn_hooks; } -# endif -#endif +#endif /* !SHARED */ diff --git a/dlfcn/sdlerror.c b/dlfcn/sdlerror.c deleted file mode 100644 index f1226a48c5..0000000000 --- a/dlfcn/sdlerror.c +++ /dev/null @@ -1 +0,0 @@ -#include "dlerror.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index a8d48bdada..a92b2aefb8 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -96,8 +96,8 @@ extern void *_dl_vsym (void *handle, const char *name, const char *version, _dl_catch_error. Returns zero for success, nonzero for failure; and arranges for `dlerror' to return the error details. ARGS is passed as argument to OPERATE. */ -extern int _dlerror_run (void (*operate) (void *), void *args) - attribute_hidden; +extern int _dlerror_run (void (*operate) (void *), void *args); +libc_hidden_proto (_dlerror_run) #ifdef SHARED # define DL_CALLER_DECL /* Nothing */ @@ -124,7 +124,7 @@ struct dlfcn_hook }; extern struct dlfcn_hook *_dlfcn_hook; -libdl_hidden_proto (_dlfcn_hook) +libc_hidden_proto (_dlfcn_hook) extern void *__dlopen (const char *file, int mode DL_CALLER_DECL) attribute_hidden; @@ -137,8 +137,6 @@ extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL) extern void *__dlvsym (void *handle, const char *name, const char *version DL_CALLER_DECL) attribute_hidden; -extern char *__dlerror (void) - attribute_hidden; extern int __dladdr (const void *address, Dl_info *info) attribute_hidden; extern int __dladdr1 (const void *address, Dl_info *info, diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 49aa809366..4c62bf215f 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -741,6 +741,7 @@ GLIBC_2.2.6 dirfd F GLIBC_2.2.6 dirname F GLIBC_2.2.6 div F GLIBC_2.2.6 dl_iterate_phdr F +GLIBC_2.2.6 dlerror F GLIBC_2.2.6 dngettext F GLIBC_2.2.6 dprintf F GLIBC_2.2.6 drand48 F @@ -2207,6 +2208,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 _hurd_libc_proc_init F +GLIBC_2.34 dlerror 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 27d133bb7b..1073ce7845 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index d22c7da7ef..cf1e160614 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -718,6 +718,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F +GLIBC_2.17 dlerror F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F GLIBC_2.17 drand48 F @@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 36340d5dd8..cb92fbf091 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index cefff3bf36..9b303bfeea 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -409,6 +409,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2434,6 +2435,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 91a90f8ca4..804e109621 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -663,6 +663,7 @@ GLIBC_2.32 dirfd F GLIBC_2.32 dirname F GLIBC_2.32 div F GLIBC_2.32 dl_iterate_phdr F +GLIBC_2.32 dlerror F GLIBC_2.32 dngettext F GLIBC_2.32 dprintf F GLIBC_2.32 drand48 F @@ -2101,6 +2102,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 bf20b0c404..3f7f805044 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.32 dladdr F GLIBC_2.32 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 120288d766..1c766b317d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -207,6 +207,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1017,6 +1018,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlerror 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 40132b1374..1951f0a9af 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index be987da77e..6e5898f5a0 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -204,6 +204,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1014,6 +1015,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlerror 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 40132b1374..1951f0a9af 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index adb4e15cb8..cd740fb61e 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -699,6 +699,7 @@ GLIBC_2.29 dirfd F GLIBC_2.29 dirname F GLIBC_2.29 div F GLIBC_2.29 dl_iterate_phdr F +GLIBC_2.29 dlerror F GLIBC_2.29 dngettext F GLIBC_2.29 dprintf F GLIBC_2.29 drand48 F @@ -2285,6 +2286,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 8fcb609ddc..7477354fa8 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.29 dladdr F GLIBC_2.29 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index bd022276e8..79ef2450fb 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2238,6 +2239,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 9e37e1cb38..a5c5cb5868 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2422,6 +2423,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index b8089b0b0c..9d1e50984f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2274,6 +2275,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 093854ad85..8cc0f0402f 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -208,6 +208,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1006,6 +1007,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlerror 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 40132b1374..1951f0a9af 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 87554f1468..9df60dda8a 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -396,6 +396,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2365,6 +2366,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index e9340671c5..a10b65e1c9 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F +GLIBC_2.18 dlerror F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F GLIBC_2.18 drand48 F @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 46b5716dbe..1bb6077e6f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 6ddc0e90cf..aa80f6db28 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F +GLIBC_2.18 dlerror F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F GLIBC_2.18 drand48 F @@ -2333,6 +2334,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 46b5716dbe..1bb6077e6f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 8582c9c371..969e1febcf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 6d377d93a4..3b3e0c7d60 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -1,6 +1,5 @@ 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.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index b0849bec98..82813866d0 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2328,6 +2329,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 6d377d93a4..3b3e0c7d60 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -1,6 +1,5 @@ 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.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 386660a5a1..6f9d2b0842 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror 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_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 4d05128f21..c75f9a8535 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -392,6 +392,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 bd305f440f..7c13372bed 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -763,6 +763,7 @@ GLIBC_2.21 dirfd F GLIBC_2.21 dirname F GLIBC_2.21 div F GLIBC_2.21 dl_iterate_phdr F +GLIBC_2.21 dlerror F GLIBC_2.21 dngettext F GLIBC_2.21 dprintf F GLIBC_2.21 drand48 F @@ -2375,6 +2376,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 79573c93dc..f47d113867 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.21 dladdr F GLIBC_2.21 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index c2665624aa..a974a27468 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2392,6 +2393,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 13ef6ef39e..ea3daaf85f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2425,6 +2426,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 b21072e313..1204e120c7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -758,6 +758,7 @@ GLIBC_2.3 dirfd F GLIBC_2.3 dirname F GLIBC_2.3 div F GLIBC_2.3 dl_iterate_phdr F +GLIBC_2.3 dlerror F GLIBC_2.3 dngettext F GLIBC_2.3 dprintf F GLIBC_2.3 drand48 F @@ -2239,6 +2240,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 5b472f45aa..fdda336bd2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 62af65536c..58359362ad 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -806,6 +806,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F +GLIBC_2.17 dlerror F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F GLIBC_2.17 drand48 F @@ -2538,6 +2539,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 36340d5dd8..cb92fbf091 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index a63aec3379..2717605ce0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -656,6 +656,7 @@ GLIBC_2.33 dirfd F GLIBC_2.33 dirname F GLIBC_2.33 div F GLIBC_2.33 dl_iterate_phdr F +GLIBC_2.33 dlerror F GLIBC_2.33 dngettext F GLIBC_2.33 dprintf F GLIBC_2.33 drand48 F @@ -2103,6 +2104,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 ac5d2d0e9e..8bb5ee8f56 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.33 dladdr F GLIBC_2.33 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index b52efaf5ee..6d5cfc1003 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -697,6 +697,7 @@ GLIBC_2.27 dirfd F GLIBC_2.27 dirname F GLIBC_2.27 div F GLIBC_2.27 dl_iterate_phdr F +GLIBC_2.27 dlerror F GLIBC_2.27 dngettext F GLIBC_2.27 dprintf F GLIBC_2.27 drand48 F @@ -2303,6 +2304,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 16adcae553..044092c8ba 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.27 dladdr F GLIBC_2.27 dladdr1 F 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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index b699dedcc1..5050039c86 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2390,6 +2391,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 94209858b1..4baccfe878 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -695,6 +695,7 @@ GLIBC_2.2 difftime F GLIBC_2.2 dirfd F GLIBC_2.2 dirname F GLIBC_2.2 div F +GLIBC_2.2 dlerror F GLIBC_2.2 dngettext F GLIBC_2.2 dprintf F GLIBC_2.2 drand48 F @@ -2276,6 +2277,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 8110e39ce4..88c2b76660 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 0fab90e1e3..a0b0006997 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2245,6 +2246,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 2f3a64b580..12f05ed141 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2242,6 +2243,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index e6fe453f50..2a19e65697 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -397,6 +397,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F GLIBC_2.0 drand48_r F @@ -2383,6 +2384,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 4327cf5eb3..99bf107f54 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2295,6 +2296,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 7826fde951..62dfb3059d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 318a6d50f9..ec26f0c30a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -685,6 +685,7 @@ GLIBC_2.2.5 dirfd F GLIBC_2.2.5 dirname F GLIBC_2.2.5 div F GLIBC_2.2.5 dl_iterate_phdr F +GLIBC_2.2.5 dlerror F GLIBC_2.2.5 dngettext F GLIBC_2.2.5 dprintf F GLIBC_2.2.5 drand48 F @@ -2254,6 +2255,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 c5cd25d424..0d933bc3d6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -1,6 +1,5 @@ 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 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 0bcf898d4d..a74f962b63 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -722,6 +722,7 @@ GLIBC_2.16 dirfd F GLIBC_2.16 dirname F GLIBC_2.16 div F GLIBC_2.16 dl_iterate_phdr F +GLIBC_2.16 dlerror F GLIBC_2.16 dngettext F GLIBC_2.16 dprintf F GLIBC_2.16 drand48 F @@ -2357,6 +2358,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlerror 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 c947cd4375..0360ee41e6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,7 +1,6 @@ GLIBC_2.16 dladdr F GLIBC_2.16 dladdr1 F 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 From patchwork Mon May 31 14:11:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43630 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2C6783938396; Mon, 31 May 2021 14:11:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2C6783938396 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470317; bh=0CwvfK5/nhxGRjUdwsXQ4WEdnWqGcxSi66HwPV5CzhM=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=dLHLHjXCsqEnYXd3PTtNY9Ubb4nNHAy+LvS/m1Rp1Ju6Aq/NOpxkMw3Pq7s171Urz JczS+/g7RaJPJchxQIRTwc8sh9Bn6xVy2HCHJ4TYmt4tlBv0vkTo1ygF89kflJT4zZ rtD25r6P2biYeqWIeCNq2+TSCnIgDPFyFaVc7IeE= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id C7EEE3848010 for ; Mon, 31 May 2021 14:11:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C7EEE3848010 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-234-wGYilxUyMrmgIiS45RRwMQ-1; Mon, 31 May 2021 10:11:49 -0400 X-MC-Unique: wGYilxUyMrmgIiS45RRwMQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C12211007C86 for ; Mon, 31 May 2021 14:11:48 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7C2D15C230 for ; Mon, 31 May 2021 14:11:47 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 06/16] dlfcn: Move dlclose into libc In-Reply-To: References: X-From-Line: 5d65c9afd2e3aa5090b7f1dc2559762b09b8f06a Mon Sep 17 00:00:00 2001 Message-Id: <5d65c9afd2e3aa5090b7f1dc2559762b09b8f06a.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:45 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 +- dlfcn/Versions | 4 ++- dlfcn/dlclose.c | 30 +++++-------------- dlfcn/sdlclose.c | 1 - include/dlfcn.h | 7 +++-- 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 - 68 files changed, 84 insertions(+), 57 deletions(-) delete mode 100644 dlfcn/sdlclose.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index b194762d3e..4bdf524492 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,11 +21,12 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlclose dlsym dlvsym dladdr dladdr1 dlinfo \ +libdl-routines := dlopen dlsym dlvsym dladdr dladdr1 dlinfo \ dlmopen dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) routines += \ + dlclose \ dlerror \ libc_dlerror_result \ diff --git a/dlfcn/Versions b/dlfcn/Versions index e7a6081d60..e2978c2a1c 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -1,8 +1,10 @@ libc { GLIBC_2.0 { + dlclose; dlerror; } GLIBC_2.34 { + dlclose; dlerror; } GLIBC_PRIVATE { @@ -13,7 +15,7 @@ libc { } libdl { GLIBC_2.0 { - dladdr; dlclose; dlopen; dlsym; + dladdr; dlopen; dlsym; } GLIBC_2.1 { dlopen; dlvsym; diff --git a/dlfcn/dlclose.c b/dlfcn/dlclose.c index 4bed5de55d..4d5d307ab1 100644 --- a/dlfcn/dlclose.c +++ b/dlfcn/dlclose.c @@ -18,34 +18,20 @@ #include #include - -#if !defined SHARED && IS_IN (libdl) - -int -dlclose (void *handle) -{ - return __dlclose (handle); -} - -#else - -static void -dlclose_doit (void *handle) -{ - GLRO(dl_close) (handle); -} +#include int __dlclose (void *handle) { -# ifdef SHARED +#ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dlclose (handle); -# endif +#endif - return _dlerror_run (dlclose_doit, handle) ? -1 : 0; + return _dlerror_run (GLRO (dl_close), handle) ? -1 : 0; } -# ifdef SHARED -strong_alias (__dlclose, dlclose) -# endif +versioned_symbol (libc, __dlclose, dlclose, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libdl, __dlclose, dlclose, GLIBC_2_0); #endif diff --git a/dlfcn/sdlclose.c b/dlfcn/sdlclose.c deleted file mode 100644 index dc89b98029..0000000000 --- a/dlfcn/sdlclose.c +++ /dev/null @@ -1 +0,0 @@ -#include "dlclose.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index a92b2aefb8..352eb79500 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -126,12 +126,15 @@ struct dlfcn_hook extern struct dlfcn_hook *_dlfcn_hook; libc_hidden_proto (_dlfcn_hook) +/* Note: These prototypes are for initializing _dflcn_hook in static + 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 *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL) attribute_hidden; -extern int __dlclose (void *handle) - attribute_hidden; +extern int __dlclose (void *handle); extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL) attribute_hidden; extern void *__dlvsym (void *handle, const char *name, const char *version diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 4c62bf215f..7e1b9845fc 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -741,6 +741,7 @@ GLIBC_2.2.6 dirfd F GLIBC_2.2.6 dirname F GLIBC_2.2.6 div F GLIBC_2.2.6 dl_iterate_phdr F +GLIBC_2.2.6 dlclose F GLIBC_2.2.6 dlerror F GLIBC_2.2.6 dngettext F GLIBC_2.2.6 dprintf F @@ -2208,6 +2209,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 _hurd_libc_proc_init F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 timespec_getres F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index 1073ce7845..d267e7d457 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.2.6 dladdr F -GLIBC_2.2.6 dlclose F GLIBC_2.2.6 dlopen F GLIBC_2.2.6 dlsym F GLIBC_2.2.6 dlvsym F diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index cf1e160614..8fdbe6548e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -718,6 +718,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F +GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F @@ -2343,6 +2344,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist index cb92fbf091..201e1e7146 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F -GLIBC_2.17 dlclose F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlopen F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 9b303bfeea..c2bae6f242 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -409,6 +409,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2435,6 +2436,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist index 62dfb3059d..a975af50ec 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 804e109621..bcc9352407 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -663,6 +663,7 @@ GLIBC_2.32 dirfd F GLIBC_2.32 dirname F GLIBC_2.32 div F GLIBC_2.32 dl_iterate_phdr F +GLIBC_2.32 dlclose F GLIBC_2.32 dlerror F GLIBC_2.32 dngettext F GLIBC_2.32 dprintf F @@ -2102,6 +2103,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist index 3f7f805044..7dc68475ea 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.32 dladdr F GLIBC_2.32 dladdr1 F -GLIBC_2.32 dlclose F GLIBC_2.32 dlinfo F GLIBC_2.32 dlmopen F GLIBC_2.32 dlopen F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 1c766b317d..d883be6028 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -207,6 +207,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1018,6 +1019,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist index 1951f0a9af..0ddfa10b3d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F -GLIBC_2.4 dlclose F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 6e5898f5a0..4dbb5e3442 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -204,6 +204,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1015,6 +1016,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist index 1951f0a9af..0ddfa10b3d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F -GLIBC_2.4 dlclose F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index cd740fb61e..0da7522411 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -699,6 +699,7 @@ GLIBC_2.29 dirfd F GLIBC_2.29 dirname F GLIBC_2.29 div F GLIBC_2.29 dl_iterate_phdr F +GLIBC_2.29 dlclose F GLIBC_2.29 dlerror F GLIBC_2.29 dngettext F GLIBC_2.29 dprintf F @@ -2286,6 +2287,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist index 7477354fa8..359b2d6267 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.29 dladdr F GLIBC_2.29 dladdr1 F -GLIBC_2.29 dlclose F GLIBC_2.29 dlinfo F GLIBC_2.29 dlmopen F GLIBC_2.29 dlopen F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 79ef2450fb..53128aae93 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F @@ -2239,6 +2240,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist index 62dfb3059d..a975af50ec 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index a5c5cb5868..0731f99ab1 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2423,6 +2424,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist index 62dfb3059d..a975af50ec 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 9d1e50984f..87acf0b861 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F @@ -2275,6 +2276,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist index 62dfb3059d..a975af50ec 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 8cc0f0402f..ed482a6551 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -208,6 +208,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1007,6 +1008,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F +GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist index 1951f0a9af..0ddfa10b3d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F -GLIBC_2.4 dlclose F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 9df60dda8a..eff3f537f0 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -396,6 +396,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2366,6 +2367,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index a10b65e1c9..aeda8130c1 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F +GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F @@ -2337,6 +2338,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist index 1bb6077e6f..90dcb88bab 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F -GLIBC_2.18 dlclose F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index aa80f6db28..cf8583acf8 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F +GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F @@ -2334,6 +2335,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist index 1bb6077e6f..90dcb88bab 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F -GLIBC_2.18 dlclose F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 969e1febcf..72a1879260 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2331,6 +2332,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist index 3b3e0c7d60..c35888c87a 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 82813866d0..7f116922cf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2329,6 +2330,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist index 3b3e0c7d60..c35888c87a 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 6f9d2b0842..af7ab63030 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2337,6 +2338,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index c75f9a8535..17f64d7c1e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -392,6 +392,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2331,6 +2332,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 7c13372bed..7c0d6dbd03 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -763,6 +763,7 @@ GLIBC_2.21 dirfd F GLIBC_2.21 dirname F GLIBC_2.21 div F GLIBC_2.21 dl_iterate_phdr F +GLIBC_2.21 dlclose F GLIBC_2.21 dlerror F GLIBC_2.21 dngettext F GLIBC_2.21 dprintf F @@ -2376,6 +2377,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist index f47d113867..2de1533f42 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.21 dladdr F GLIBC_2.21 dladdr1 F -GLIBC_2.21 dlclose F GLIBC_2.21 dlinfo F GLIBC_2.21 dlmopen F GLIBC_2.21 dlopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index a974a27468..c3f9df2b67 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2393,6 +2394,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index ea3daaf85f..b122dce9f5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2426,6 +2427,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 1204e120c7..c5cee140ea 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -758,6 +758,7 @@ GLIBC_2.3 dirfd F GLIBC_2.3 dirname F GLIBC_2.3 div F GLIBC_2.3 dl_iterate_phdr F +GLIBC_2.3 dlclose F GLIBC_2.3 dlerror F GLIBC_2.3 dngettext F GLIBC_2.3 dprintf F @@ -2240,6 +2241,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist index fdda336bd2..183a4b1526 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 dladdr F -GLIBC_2.3 dlclose F GLIBC_2.3 dlopen F GLIBC_2.3 dlsym F GLIBC_2.3 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 58359362ad..14a53736ff 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -806,6 +806,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F +GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F @@ -2539,6 +2540,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist index cb92fbf091..201e1e7146 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F -GLIBC_2.17 dlclose F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 2717605ce0..4076eb1fc3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -656,6 +656,7 @@ GLIBC_2.33 dirfd F GLIBC_2.33 dirname F GLIBC_2.33 div F GLIBC_2.33 dl_iterate_phdr F +GLIBC_2.33 dlclose F GLIBC_2.33 dlerror F GLIBC_2.33 dngettext F GLIBC_2.33 dprintf F @@ -2104,6 +2105,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist index 8bb5ee8f56..40991dffcd 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.33 dladdr F GLIBC_2.33 dladdr1 F -GLIBC_2.33 dlclose F GLIBC_2.33 dlinfo F GLIBC_2.33 dlmopen F GLIBC_2.33 dlopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 6d5cfc1003..b608d9384a 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -697,6 +697,7 @@ GLIBC_2.27 dirfd F GLIBC_2.27 dirname F GLIBC_2.27 div F GLIBC_2.27 dl_iterate_phdr F +GLIBC_2.27 dlclose F GLIBC_2.27 dlerror F GLIBC_2.27 dngettext F GLIBC_2.27 dprintf F @@ -2304,6 +2305,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist index 044092c8ba..6dea0435f8 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.27 dladdr F GLIBC_2.27 dladdr1 F -GLIBC_2.27 dlclose F GLIBC_2.27 dlinfo F GLIBC_2.27 dlmopen F GLIBC_2.27 dlopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 5050039c86..c5809de838 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2391,6 +2392,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 4baccfe878..b118d56f0d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -695,6 +695,7 @@ GLIBC_2.2 difftime F GLIBC_2.2 dirfd F GLIBC_2.2 dirname F GLIBC_2.2 div F +GLIBC_2.2 dlclose F GLIBC_2.2 dlerror F GLIBC_2.2 dngettext F GLIBC_2.2 dprintf F @@ -2277,6 +2278,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist index 88c2b76660..99bb237244 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 dladdr F -GLIBC_2.2 dlclose F GLIBC_2.2 dlopen F GLIBC_2.2 dlsym F GLIBC_2.2 dlvsym F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index a0b0006997..e6748c96dc 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F @@ -2246,6 +2247,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 12f05ed141..fa0e795ec1 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F @@ -2243,6 +2244,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 2a19e65697..897b34dabf 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -397,6 +397,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F GLIBC_2.0 drand48 F @@ -2384,6 +2385,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 99bf107f54..2d7e5a0ca1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F GCC_3.0 __register_frame_info_table_bases F +GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F @@ -2296,6 +2297,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist index 62dfb3059d..a975af50ec 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 dladdr F -GLIBC_2.0 dlclose F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index ec26f0c30a..62bded4298 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -685,6 +685,7 @@ GLIBC_2.2.5 dirfd F GLIBC_2.2.5 dirname F GLIBC_2.2.5 div F GLIBC_2.2.5 dl_iterate_phdr F +GLIBC_2.2.5 dlclose F GLIBC_2.2.5 dlerror F GLIBC_2.2.5 dngettext F GLIBC_2.2.5 dprintf F @@ -2255,6 +2256,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist index 0d933bc3d6..f4f0482c24 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 dladdr F -GLIBC_2.2.5 dlclose F GLIBC_2.2.5 dlopen F GLIBC_2.2.5 dlsym F GLIBC_2.2.5 dlvsym F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index a74f962b63..f197d4301f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -722,6 +722,7 @@ GLIBC_2.16 dirfd F GLIBC_2.16 dirname F GLIBC_2.16 div F GLIBC_2.16 dl_iterate_phdr F +GLIBC_2.16 dlclose F GLIBC_2.16 dlerror F GLIBC_2.16 dngettext F GLIBC_2.16 dprintf F @@ -2358,6 +2359,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist index 0360ee41e6..a29fef95d4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.16 dladdr F GLIBC_2.16 dladdr1 F -GLIBC_2.16 dlclose F GLIBC_2.16 dlinfo F GLIBC_2.16 dlmopen F GLIBC_2.16 dlopen F From patchwork Mon May 31 14:11:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43631 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 29C243938399; Mon, 31 May 2021 14:12:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 29C243938399 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470323; bh=TN4qLW9+/HJhgna+QsCXpOAEGNj3BJG2man9ZcHsZeM=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=FminA+YmuIZjYAxlbYAJBHwdNf0DP7fLVa8MWa4RdIK6rNdeRzzEKLcnKkC9z+Tzf iN3+UcDSd/6Q6n5lq4rJko5B+KWW2aB2lpYOfpFPWNvoUdounuYzg9ueC7zt1iQoi2 O9AVW2HinnY2aeyLfxGAqVwCxpdeGvAq2/PXfL2E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 9FFC93938C0A for ; Mon, 31 May 2021 14:11:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9FFC93938C0A Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-373-9VtVw8EMMZW76B38tSKNCg-1; Mon, 31 May 2021 10:11:55 -0400 X-MC-Unique: 9VtVw8EMMZW76B38tSKNCg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1E5BF180FD6C for ; Mon, 31 May 2021 14:11:54 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BA4AC19C59 for ; Mon, 31 May 2021 14:11:52 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 07/16] dlfcn: Move dladdr into libc In-Reply-To: References: X-From-Line: 051e23bb0fe1d0df7e5805c42728e4e1758aff05 Mon Sep 17 00:00:00 2001 Message-Id: <051e23bb0fe1d0df7e5805c42728e4e1758aff05.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:50 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 ++- dlfcn/Versions | 4 +++- dlfcn/dladdr.c | 22 ++++++------------- dlfcn/sdladdr.c | 1 - include/dlfcn.h | 3 +-- 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 - 68 files changed, 79 insertions(+), 50 deletions(-) delete mode 100644 dlfcn/sdladdr.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index 4bdf524492..f0793468c7 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,11 +21,12 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlsym dlvsym dladdr dladdr1 dlinfo \ +libdl-routines := dlopen dlsym dlvsym dladdr1 dlinfo \ dlmopen dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) routines += \ + dladdr \ dlclose \ dlerror \ libc_dlerror_result \ diff --git a/dlfcn/Versions b/dlfcn/Versions index e2978c2a1c..89e4a1236a 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -1,9 +1,11 @@ libc { GLIBC_2.0 { + dladdr; dlclose; dlerror; } GLIBC_2.34 { + dladdr; dlclose; dlerror; } @@ -15,7 +17,7 @@ libc { } libdl { GLIBC_2.0 { - dladdr; dlopen; dlsym; + dlopen; dlsym; } GLIBC_2.1 { dlopen; dlvsym; diff --git a/dlfcn/dladdr.c b/dlfcn/dladdr.c index 27a6e49cac..3ef1b7f0b6 100644 --- a/dlfcn/dladdr.c +++ b/dlfcn/dladdr.c @@ -18,27 +18,19 @@ #include #include - -#if !defined SHARED && IS_IN (libdl) - -int -dladdr (const void *address, Dl_info *info) -{ - return __dladdr (address, info); -} - -#else +#include int __dladdr (const void *address, Dl_info *info) { -# ifdef SHARED +#ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dladdr (address, info); -# endif +#endif return _dl_addr (address, info, NULL, NULL); } -# ifdef SHARED -strong_alias (__dladdr, dladdr) -# endif +versioned_symbol (libc, __dladdr, dladdr, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libdl, __dladdr, dladdr, GLIBC_2_0); #endif diff --git a/dlfcn/sdladdr.c b/dlfcn/sdladdr.c deleted file mode 100644 index c484d63b29..0000000000 --- a/dlfcn/sdladdr.c +++ /dev/null @@ -1 +0,0 @@ -#include "dladdr.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index 352eb79500..a018144808 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -140,8 +140,7 @@ extern void *__dlsym (void *handle, const char *name DL_CALLER_DECL) extern void *__dlvsym (void *handle, const char *name, const char *version DL_CALLER_DECL) attribute_hidden; -extern int __dladdr (const void *address, Dl_info *info) - attribute_hidden; +extern int __dladdr (const void *address, Dl_info *info); extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags) attribute_hidden; diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 7e1b9845fc..abf3f3cf7f 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -741,6 +741,7 @@ GLIBC_2.2.6 dirfd F GLIBC_2.2.6 dirname F GLIBC_2.2.6 div F 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 dngettext F @@ -2209,6 +2210,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F 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 execveat F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index d267e7d457..5b9579b3d2 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.2.6 dladdr F GLIBC_2.2.6 dlopen F GLIBC_2.2.6 dlsym F GLIBC_2.2.6 dlvsym F diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 8fdbe6548e..f912cea6a0 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -718,6 +718,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F 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 dngettext F @@ -2344,6 +2345,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 201e1e7146..731d6a1377 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index c2bae6f242..c0dfb9be95 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -409,6 +409,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2436,6 +2437,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index bcc9352407..c2a4c1f9ba 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -663,6 +663,7 @@ GLIBC_2.32 dirfd F GLIBC_2.32 dirname F GLIBC_2.32 div F 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 dngettext F @@ -2103,6 +2104,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 7dc68475ea..1c818309f2 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.32 dladdr F GLIBC_2.32 dladdr1 F GLIBC_2.32 dlinfo F GLIBC_2.32 dlmopen F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index d883be6028..db80c07019 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -207,6 +207,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F @@ -1019,6 +1020,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F 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 dngettext F diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist index 0ddfa10b3d..69ffaf4edf 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 4dbb5e3442..3600075a47 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -204,6 +204,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F @@ -1016,6 +1017,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F 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 dngettext F diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist index 0ddfa10b3d..69ffaf4edf 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 0da7522411..d7beb5db45 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -699,6 +699,7 @@ GLIBC_2.29 dirfd F GLIBC_2.29 dirname F GLIBC_2.29 div F 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 dngettext F @@ -2287,6 +2288,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 359b2d6267..2c8047a614 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.29 dladdr F GLIBC_2.29 dladdr1 F GLIBC_2.29 dlinfo F GLIBC_2.29 dlmopen F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 53128aae93..59b0e421a7 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F @@ -2240,6 +2241,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 0731f99ab1..e33dd7d91e 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2424,6 +2425,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 87acf0b861..772b686c1d 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1,3 +1,4 @@ +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.10 __cxa_at_quick_exit F @@ -2276,6 +2277,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index ed482a6551..6ee063131e 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -208,6 +208,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 execveat F @@ -1008,6 +1009,7 @@ GLIBC_2.4 dirfd F GLIBC_2.4 dirname F GLIBC_2.4 div F 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 dngettext F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist index 0ddfa10b3d..69ffaf4edf 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index eff3f537f0..9fb78fd4fd 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -396,6 +396,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2367,6 +2368,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index aeda8130c1..6ba6e439c5 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F 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 dngettext F @@ -2338,6 +2339,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 90dcb88bab..721e823b1b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index cf8583acf8..b3d12892e6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -720,6 +720,7 @@ GLIBC_2.18 dirfd F GLIBC_2.18 dirname F GLIBC_2.18 div F 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 dngettext F @@ -2335,6 +2336,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 90dcb88bab..721e823b1b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 72a1879260..43fe36e7d1 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2332,6 +2333,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 c35888c87a..d8aab2a6de 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 7f116922cf..699ad445f7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2330,6 +2331,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 c35888c87a..d8aab2a6de 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.2 dlopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index af7ab63030..3da887b94b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2338,6 +2339,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 17f64d7c1e..8c34936cc0 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -392,6 +392,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2332,6 +2333,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 7c0d6dbd03..e1bc50caf5 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -763,6 +763,7 @@ GLIBC_2.21 dirfd F GLIBC_2.21 dirname F GLIBC_2.21 div F 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 dngettext F @@ -2377,6 +2378,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 2de1533f42..835ee02768 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.21 dladdr F GLIBC_2.21 dladdr1 F GLIBC_2.21 dlinfo F GLIBC_2.21 dlmopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index c3f9df2b67..8c3c1bb5c5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2394,6 +2395,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index b122dce9f5..018f9c0253 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -405,6 +405,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2427,6 +2428,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 c5cee140ea..330f5fdc1a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -758,6 +758,7 @@ GLIBC_2.3 dirfd F GLIBC_2.3 dirname F GLIBC_2.3 div F 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 dngettext F @@ -2241,6 +2242,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 183a4b1526..4446495717 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.3 dladdr F GLIBC_2.3 dlopen F GLIBC_2.3 dlsym F GLIBC_2.3 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 14a53736ff..b770ac88b3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -806,6 +806,7 @@ GLIBC_2.17 dirfd F GLIBC_2.17 dirname F GLIBC_2.17 div F 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 dngettext F @@ -2540,6 +2541,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 201e1e7146..731d6a1377 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 4076eb1fc3..ea14f58edb 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -656,6 +656,7 @@ GLIBC_2.33 dirfd F GLIBC_2.33 dirname F GLIBC_2.33 div F 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 dngettext F @@ -2105,6 +2106,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 40991dffcd..b140aa0b09 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.33 dladdr F GLIBC_2.33 dladdr1 F GLIBC_2.33 dlinfo F GLIBC_2.33 dlmopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index b608d9384a..5c2a87a3b0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -697,6 +697,7 @@ GLIBC_2.27 dirfd F GLIBC_2.27 dirname F GLIBC_2.27 div F 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 dngettext F @@ -2305,6 +2306,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 6dea0435f8..3536869c77 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.27 dladdr F GLIBC_2.27 dladdr1 F GLIBC_2.27 dlinfo F GLIBC_2.27 dlmopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index c5809de838..937a3ba942 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -395,6 +395,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2392,6 +2393,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index b118d56f0d..cce8034393 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -695,6 +695,7 @@ GLIBC_2.2 difftime F GLIBC_2.2 dirfd F GLIBC_2.2 dirname F GLIBC_2.2 div F +GLIBC_2.2 dladdr F GLIBC_2.2 dlclose F GLIBC_2.2 dlerror F GLIBC_2.2 dngettext F @@ -2278,6 +2279,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 99bb237244..c995dec160 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.2 dladdr F GLIBC_2.2 dlopen F GLIBC_2.2 dlsym F GLIBC_2.2 dlvsym F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index e6748c96dc..28154a96dd 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F 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.10 __cxa_at_quick_exit F @@ -2247,6 +2248,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index fa0e795ec1..d9a16e9ccf 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F 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.10 __cxa_at_quick_exit F @@ -2244,6 +2245,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 897b34dabf..98e6db33fe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -397,6 +397,7 @@ GLIBC_2.0 difftime F GLIBC_2.0 dirfd F GLIBC_2.0 dirname F GLIBC_2.0 div F +GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dprintf F @@ -2385,6 +2386,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 2d7e5a0ca1..479a1b38a6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2,6 +2,7 @@ GCC_3.0 _Unwind_Find_FDE F GCC_3.0 __deregister_frame_info_bases F GCC_3.0 __register_frame_info_bases F 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.10 __cxa_at_quick_exit F @@ -2297,6 +2298,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a975af50ec..25cf9cd21e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.0 dladdr F GLIBC_2.0 dlopen F GLIBC_2.0 dlsym F GLIBC_2.1 dlopen F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 62bded4298..3c6750b3a4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -685,6 +685,7 @@ GLIBC_2.2.5 dirfd F GLIBC_2.2.5 dirname F GLIBC_2.2.5 div F 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 dngettext F @@ -2256,6 +2257,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 f4f0482c24..28f001d6ec 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.2.5 dladdr F GLIBC_2.2.5 dlopen F GLIBC_2.2.5 dlsym F GLIBC_2.2.5 dlvsym F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index f197d4301f..0bfba9edbc 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -722,6 +722,7 @@ GLIBC_2.16 dirfd F GLIBC_2.16 dirname F GLIBC_2.16 div F 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 dngettext F @@ -2359,6 +2360,7 @@ GLIBC_2.34 cnd_init F GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F +GLIBC_2.34 dladdr F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror 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 a29fef95d4..f61c4a59d3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.16 dladdr F GLIBC_2.16 dladdr1 F GLIBC_2.16 dlinfo F GLIBC_2.16 dlmopen F From patchwork Mon May 31 14:11:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43632 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2A0B33938C0A; Mon, 31 May 2021 14:12:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2A0B33938C0A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470329; bh=2PQlwR3fmKSN0NvBZxmL8X1Vc0u+tr61sKUOwdieE+w=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ZwXK8svEAoRNseC5hJ/C4uZ9n5HxAFZZJ7dKInR059mutDTv9i81lb392KCNSxOuL XDZQdyHORSjmbYcFbHIa4qMVVDD7ruK7ahRS6uHuuV4Foe91qXZYJvrrwOzVffoSsZ PQToTr0SU4F5XQtu+iAXMAxKpNK6XKgPQwpi/ejs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id EEF34389853C for ; Mon, 31 May 2021 14:12:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EEF34389853C Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-149-OC80J6IhOJOrFXIssAZR0w-1; Mon, 31 May 2021 10:12:00 -0400 X-MC-Unique: OC80J6IhOJOrFXIssAZR0w-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 769E2107ACF3 for ; Mon, 31 May 2021 14:11:59 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E75045C1B4 for ; Mon, 31 May 2021 14:11:57 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 08/16] dlfcn: Move dlsym into libc In-Reply-To: References: X-From-Line: 77264ca540a7972cdd639f610ea1dd0a81b8b8ec Mon Sep 17 00:00:00 2001 Message-Id: <77264ca540a7972cdd639f610ea1dd0a81b8b8ec.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:11:55 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" 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. 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 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; 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 */ 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" 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) 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) 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 @@ -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; 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 From patchwork Mon May 31 14:12:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43633 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 51743389853C; Mon, 31 May 2021 14:12:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 51743389853C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470335; bh=qw9PVZdg8gKRC3fD50SCqCL2Hf0o57HIVqVi0Ez+jJs=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ebwAktB49E6dQKeUDBsq35P6lVyo3Yfn/wm3pQLdedV9JzgP/Hc6Q0ZMQoUBUJKoe tkXoyH2vlcou604K8POGNq4kqcHptj2dC7RgLZqvDe2nmAKMBN7+vFDizm4rmsitRp 6BBvONjxYp06uuFq8mz8ZZgJZH2u/SNg85Sjti2g= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 61F2A3938C10 for ; Mon, 31 May 2021 14:12:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 61F2A3938C10 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-530-ecGm74flONSiV2x0LfVuBA-1; Mon, 31 May 2021 10:12:06 -0400 X-MC-Unique: ecGm74flONSiV2x0LfVuBA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D68658049CB for ; Mon, 31 May 2021 14:12:04 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6A4865C1B4 for ; Mon, 31 May 2021 14:12:03 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 09/16] dlfcn: Move dlmopen into libc In-Reply-To: References: X-From-Line: 59a14fc491a58520936da8d69093abf9112a7ffe Mon Sep 17 00:00:00 2001 Message-Id: <59a14fc491a58520936da8d69093abf9112a7ffe.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:01 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 +- dlfcn/Versions | 6 +- dlfcn/dlfcn.c | 19 ++++- dlfcn/dlmopen.c | 73 ++++++++++--------- dlfcn/sdlmopen.c | 1 - include/dlfcn.h | 12 +-- 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 | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + sysdeps/unix/sysv/linux/alpha/libdl.abilist | 2 +- 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 | 2 +- sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + sysdeps/unix/sysv/linux/i386/libdl.abilist | 2 +- sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + sysdeps/unix/sysv/linux/ia64/libdl.abilist | 2 +- .../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 | 2 +- .../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 | 2 +- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/libdl.abilist | 2 +- .../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 | 2 +- .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../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 | 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 | 2 +- .../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 | 2 + sysdeps/unix/sysv/linux/sh/be/libdl.abilist | 2 +- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/le/libdl.abilist | 2 +- .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../sysv/linux/sparc/sparc32/libdl.abilist | 2 +- .../sysv/linux/sparc/sparc64/libc.abilist | 2 + .../sysv/linux/sparc/sparc64/libdl.abilist | 2 +- .../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 | 1 - 69 files changed, 154 insertions(+), 73 deletions(-) delete mode 100644 dlfcn/sdlmopen.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index b0f2e8a986..f7ffd242dc 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -22,13 +22,14 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl libdl-routines := dlopen dlvsym dladdr1 dlinfo \ - dlmopen dlfcn + dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) routines += \ dladdr \ dlclose \ dlerror \ + dlmopen \ dlsym \ libc_dlerror_result \ diff --git a/dlfcn/Versions b/dlfcn/Versions index 7d6b51a4e3..584035e203 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -5,10 +5,14 @@ libc { dlerror; dlsym; } + GLIBC_2.3.4 { + dlmopen; + } GLIBC_2.34 { dladdr; dlclose; dlerror; + dlmopen; dlsym; } GLIBC_PRIVATE { @@ -28,6 +32,6 @@ libdl { dladdr1; dlinfo; } GLIBC_2.3.4 { - dlmopen; + __libdl_version_placeholder; } } diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c index 8f85308b5f..90cdee0903 100644 --- a/dlfcn/dlfcn.c +++ b/dlfcn/dlfcn.c @@ -17,7 +17,7 @@ . */ #include - +#include int __dlfcn_argc attribute_hidden; char **__dlfcn_argv attribute_hidden; @@ -36,3 +36,20 @@ static void (*const init_array []) (int argc, char *argv[]) { init }; + +/* The remainder of this file is used to keep specific symbol versions + occupied, so that ld does not generate weak symbol version + definitions. */ + +void +attribute_compat_text_section +__attribute_used__ +__libdl_version_placeholder_1 (void) +{ +} + +#if SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) \ + && ABI_libdl_GLIBC_2_3_4 != ABI_libdl_GLIBC_2_1 +compat_symbol (libdl, __libdl_version_placeholder_1, + __libdl_version_placeholder, GLIBC_2_3_4); +#endif diff --git a/dlfcn/dlmopen.c b/dlfcn/dlmopen.c index 6c6e98cd0e..ae42814bbf 100644 --- a/dlfcn/dlmopen.c +++ b/dlfcn/dlmopen.c @@ -22,17 +22,7 @@ #include #include #include - -#if !defined SHARED && IS_IN (libdl) - -void * -dlmopen (Lmid_t nsid, const char *file, int mode) -{ - return __dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); -} -static_link_warning (dlmopen) - -#else +#include struct dlmopen_args { @@ -70,38 +60,55 @@ dlmopen_doit (void *a) args->new = GLRO(dl_open) (args->file ?: "", args->mode | __RTLD_DLOPEN, args->caller, - args->nsid, __dlfcn_argc, __dlfcn_argv, - __environ); + args->nsid, __libc_argc, __libc_argv, __environ); } - -void * -__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL) +static void * +dlmopen_implementation (Lmid_t nsid, const char *file, int mode, + void *dl_caller) { -# ifdef SHARED - if (!rtld_active ()) - return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); -# endif - struct dlmopen_args args; args.nsid = nsid; args.file = file; args.mode = mode; - args.caller = DL_CALLER; + args.caller = dl_caller; -# ifdef SHARED return _dlerror_run (dlmopen_doit, &args) ? NULL : args.new; -# else - if (_dlerror_run (dlmopen_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 * +___dlmopen (Lmid_t nsid, const char *file, int mode) +{ + if (!rtld_active ()) + return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); + else + return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0)); +} +versioned_symbol (libc, ___dlmopen, dlmopen, GLIBC_2_34); - return args.new; +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_4, GLIBC_2_34) +compat_symbol (libdl, ___dlmopen, dlmopen, GLIBC_2_3_4); # endif +#else /* !SHARED */ +/* Also used with _dlfcn_hook. */ +void * +__dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller) +{ + return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0)); } -# ifdef SHARED -strong_alias (__dlmopen, dlmopen) -# endif -#endif + +void * +___dlmopen (Lmid_t nsid, const char *file, int mode) +{ + struct link_map *l = __dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); + if (l != NULL) + { + __libc_register_dl_open_hook (l); + __libc_register_dlfcn_hook (l); + } + return l; +} +weak_alias (___dlmopen, dlmopen) +static_link_warning (dlmopen) +#endif /* !SHARED */ diff --git a/dlfcn/sdlmopen.c b/dlfcn/sdlmopen.c deleted file mode 100644 index 9630c89a7f..0000000000 --- a/dlfcn/sdlmopen.c +++ /dev/null @@ -1 +0,0 @@ -#include "dlmopen.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index 2b174f8670..27309ab1dd 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -15,15 +15,15 @@ #define __LM_ID_CALLER -2 +/* These variables are defined and initialized in the startup code. */ +extern int __libc_argc attribute_hidden; +extern char **__libc_argv attribute_hidden; + #ifdef SHARED /* Locally stored program arguments. */ extern int __dlfcn_argc attribute_hidden; extern char **__dlfcn_argv attribute_hidden; #else -/* These variables are defined and initialized in the startup code. */ -extern int __libc_argc attribute_hidden; -extern char **__libc_argv attribute_hidden; - # define __dlfcn_argc __libc_argc # define __dlfcn_argv __libc_argv #endif @@ -133,8 +133,8 @@ libc_hidden_proto (_dlfcn_hook) extern void *__dlopen (const char *file, int mode DL_CALLER_DECL) attribute_hidden; -extern void *__dlmopen (Lmid_t nsid, const char *file, int mode DL_CALLER_DECL) - attribute_hidden; +extern void *__dlmopen (Lmid_t nsid, const char *file, int mode, + void *dl_caller); extern int __dlclose (void *handle); extern void *__dlsym (void *handle, const char *name, void *dl_caller); extern void *__dlvsym (void *handle, const char *name, const char *version diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 02ba6c3593..9827bea1e9 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2177,6 +2177,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 regexec F @@ -2214,6 +2215,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 timespec_getres F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index e4fe2ccab6..d2c315509d 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -2,4 +2,4 @@ GLIBC_2.2.6 dlopen F GLIBC_2.2.6 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 9da6e869fa..9b0f917944 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 dlmopen F GLIBC_2.17 dlsym F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F @@ -2349,6 +2350,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist index d3822d83fc..391b72c100 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F -GLIBC_2.17 dlmopen F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 1c9805a7f4..5b24169acf 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2363,6 +2363,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2441,6 +2442,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 1a83cb2288..5e28b203cd 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 dlmopen F GLIBC_2.32 dlsym F GLIBC_2.32 dngettext F GLIBC_2.32 dprintf F @@ -2108,6 +2109,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist index 74e8c10002..b23f34195f 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.32 dladdr1 F GLIBC_2.32 dlinfo F -GLIBC_2.32 dlmopen F GLIBC_2.32 dlopen F GLIBC_2.32 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index b49c187be7..ea14c3cd99 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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1024,6 +1025,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 dlmopen F GLIBC_2.4 dlsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist index 816b953a69..22691633fb 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F -GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 7f49a4977f..5ff5eb7d04 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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1021,6 +1022,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 dlmopen F GLIBC_2.4 dlsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist index 816b953a69..22691633fb 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F -GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index f060c2b0d5..8f36e5c844 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 dlmopen F GLIBC_2.29 dlsym F GLIBC_2.29 dngettext F GLIBC_2.29 dprintf F @@ -2292,6 +2293,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist index 78edf27275..51061cb361 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.29 dladdr1 F GLIBC_2.29 dlinfo F -GLIBC_2.29 dlmopen F GLIBC_2.29 dlopen F GLIBC_2.29 dlvsym F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index bd4bbe548d..0302aeae56 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2179,6 +2179,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np 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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 c781b36839..233096afbd 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2360,6 +2360,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2429,6 +2430,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 f0af999f5d..704fe57ca2 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2214,6 +2214,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2281,6 +2282,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 8b58481a8c..dc32b7561b 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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F @@ -1013,6 +1014,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 dlmopen F GLIBC_2.4 dlsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist index 816b953a69..22691633fb 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F -GLIBC_2.4 dlmopen F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index d4f2220a6a..0ad41be521 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2303,6 +2303,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2372,6 +2373,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 d443e72888..ea61742cf2 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 dlmopen F GLIBC_2.18 dlsym F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F @@ -2343,6 +2344,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist index 9f0b07e50d..409e59cf21 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F -GLIBC_2.18 dlmopen F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 5d899de9e1..3b09b44dd8 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 dlmopen F GLIBC_2.18 dlsym F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F @@ -2340,6 +2341,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist index 9f0b07e50d..409e59cf21 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F -GLIBC_2.18 dlmopen F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 80f71d2c9d..adde44be66 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2337,6 +2338,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist index e79fbf179b..04aca378ef 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 041df76409..a4c9a17e9e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2269,6 +2269,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2335,6 +2336,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist index e79fbf179b..04aca378ef 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 9d741ee23b..214e0db752 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2277,6 +2277,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2343,6 +2344,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index eb2b387ce6..b09d4058a2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2271,6 +2271,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2337,6 +2338,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 91e8dac129..748f12c254 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 dlmopen F GLIBC_2.21 dlsym F GLIBC_2.21 dngettext F GLIBC_2.21 dprintf F @@ -2382,6 +2383,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist index 354d0b0f1f..90aaa0b49b 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.21 dladdr1 F GLIBC_2.21 dlinfo F -GLIBC_2.21 dlmopen F GLIBC_2.21 dlopen F GLIBC_2.21 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 3531cf9744..4134f7ed41 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2314,6 +2314,7 @@ GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F GLIBC_2.3.4 _longjmp F GLIBC_2.3.4 _setjmp F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getcontext F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F @@ -2399,6 +2400,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 b2610134a9..43baf50dca 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2347,6 +2347,7 @@ GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F GLIBC_2.3.4 _longjmp F GLIBC_2.3.4 _setjmp F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getcontext F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F @@ -2432,6 +2433,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index cb9457053d..b3d27c2678 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2162,6 +2162,7 @@ GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F GLIBC_2.3.4 _longjmp F GLIBC_2.3.4 _setjmp F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getcontext F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F @@ -2246,6 +2247,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist index 5344e7141c..8e709e5bc4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist @@ -2,4 +2,4 @@ GLIBC_2.3 dlopen F GLIBC_2.3 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 43e579db72..60a6327f37 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 dlmopen F GLIBC_2.17 dlsym F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F @@ -2545,6 +2546,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist index d3822d83fc..391b72c100 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F -GLIBC_2.17 dlmopen F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index fe9784bfe7..dccdf14b63 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 dlmopen F GLIBC_2.33 dlsym F GLIBC_2.33 dngettext F GLIBC_2.33 dprintf F @@ -2110,6 +2111,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist index 12113b56ff..2710b64293 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.33 dladdr1 F GLIBC_2.33 dlinfo F -GLIBC_2.33 dlmopen F GLIBC_2.33 dlopen F GLIBC_2.33 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 241850b78d..2acb8db062 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 dlmopen F GLIBC_2.27 dlsym F GLIBC_2.27 dngettext F GLIBC_2.27 dprintf F @@ -2310,6 +2311,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist index e42f9d97a8..c0d8307937 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.27 dladdr1 F GLIBC_2.27 dlinfo F -GLIBC_2.27 dlmopen F GLIBC_2.27 dlopen F GLIBC_2.27 dlvsym F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 72baa14350..b2666bd723 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2316,6 +2316,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2397,6 +2398,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 2e58f6151b..6ea55ebcdf 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2205,6 +2205,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2283,6 +2284,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist index 97dcae5bf1..45decb94f9 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist @@ -2,4 +2,4 @@ GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 ab113c966d..7d3680520a 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2252,6 +2253,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 e733d13430..51a77c9553 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2183,6 +2183,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2249,6 +2250,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 0534abb5b4..45053a171a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2312,6 +2312,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2390,6 +2391,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 89e1646f02..30e7e6baa0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2236,6 +2236,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2302,6 +2303,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist index 9019e8db65..795a5abd45 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -3,4 +3,4 @@ GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 842a613fdb..abaf3ee9de 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2193,6 +2193,7 @@ GLIBC_2.3.4 __vprintf_chk F GLIBC_2.3.4 __vsnprintf_chk F GLIBC_2.3.4 __vsprintf_chk F GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 dlmopen F GLIBC_2.3.4 getipv4sourcefilter F GLIBC_2.3.4 getsourcefilter F GLIBC_2.3.4 pthread_attr_getaffinity_np F @@ -2261,6 +2262,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist index a43447856f..91f878e859 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -2,4 +2,4 @@ GLIBC_2.2.5 dlopen F GLIBC_2.2.5 dlvsym F GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo F -GLIBC_2.3.4 dlmopen 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 5e8c5a64f2..b30feb4888 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 dlmopen F GLIBC_2.16 dlsym F GLIBC_2.16 dngettext F GLIBC_2.16 dprintf F @@ -2364,6 +2365,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 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist index 7586a5f0b7..b37e9ff78c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.16 dladdr1 F GLIBC_2.16 dlinfo F -GLIBC_2.16 dlmopen F GLIBC_2.16 dlopen F GLIBC_2.16 dlvsym F From patchwork Mon May 31 14:12:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43634 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 715453938C12; Mon, 31 May 2021 14:12:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 715453938C12 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470338; bh=jYU3NB7rP1jt0jHf0GM0Q0x52mUFksx+f3UEv/f65L8=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=kThm1eVbxrjIQXTLKrtby/g3VCUx5qp8yttUpZhZYP7jMDEOL9bk4cc4LN6kG5KYo mi+ZH9v9ql1aPCZsjUv+xqH8TDcRENndJI+o7porAdGoBrGO9UBJYRkTMI9lt2w2qY Vhgkpvif0mblbZhzy3A788PwfwG9d7ZnQJtchqJY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 6AB1D3848018 for ; Mon, 31 May 2021 14:12:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6AB1D3848018 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-200-Olp28wzkMzC9qxkk-rnhJQ-1; Mon, 31 May 2021 10:12:11 -0400 X-MC-Unique: Olp28wzkMzC9qxkk-rnhJQ-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 28BB11009446 for ; Mon, 31 May 2021 14:12:10 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9A40419C59 for ; Mon, 31 May 2021 14:12:08 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 10/16] dlfcn: Move dladdr1 into libc In-Reply-To: References: X-From-Line: 70797537dd2c976c7ce8b35304df5f64fc1c57ff Mon Sep 17 00:00:00 2001 Message-Id: <70797537dd2c976c7ce8b35304df5f64fc1c57ff.1622469908.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:06 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 ++- dlfcn/Versions | 6 ++++- dlfcn/dladdr1.c | 22 ++++++------------- dlfcn/sdladdr1.c | 1 - include/dlfcn.h | 3 +-- 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 - 68 files changed, 81 insertions(+), 50 deletions(-) delete mode 100644 dlfcn/sdladdr1.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index f7ffd242dc..1dfa247538 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,12 +21,13 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlvsym dladdr1 dlinfo \ +libdl-routines := dlopen dlvsym dlinfo \ dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) routines += \ dladdr \ + dladdr1 \ dlclose \ dlerror \ dlmopen \ diff --git a/dlfcn/Versions b/dlfcn/Versions index 584035e203..acd9402b34 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -5,10 +5,14 @@ libc { dlerror; dlsym; } + GLIBC_2.3.3 { + dladdr1; + } GLIBC_2.3.4 { dlmopen; } GLIBC_2.34 { + dladdr1; dladdr; dlclose; dlerror; @@ -29,7 +33,7 @@ libdl { dlopen; dlvsym; } GLIBC_2.3.3 { - dladdr1; dlinfo; + dlinfo; } GLIBC_2.3.4 { __libdl_version_placeholder; diff --git a/dlfcn/dladdr1.c b/dlfcn/dladdr1.c index 98cd60d78e..203d6398e4 100644 --- a/dlfcn/dladdr1.c +++ b/dlfcn/dladdr1.c @@ -18,24 +18,15 @@ #include #include - -#if !defined SHARED && IS_IN (libdl) - -int -dladdr1 (const void *address, Dl_info *info, void **extra, int flags) -{ - return __dladdr1 (address, info, extra, flags); -} - -#else +#include int __dladdr1 (const void *address, Dl_info *info, void **extra, int flags) { -# ifdef SHARED +#ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dladdr1 (address, info, extra, flags); -# endif +#endif switch (flags) { @@ -48,7 +39,8 @@ __dladdr1 (const void *address, Dl_info *info, void **extra, int flags) return _dl_addr (address, info, (struct link_map **) extra, NULL); } } -# ifdef SHARED -strong_alias (__dladdr1, dladdr1) -# endif +versioned_symbol (libc, __dladdr1, dladdr1, GLIBC_2_34); + +#if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) +compat_symbol (libdl, __dladdr1, dladdr1, GLIBC_2_3_3); #endif diff --git a/dlfcn/sdladdr1.c b/dlfcn/sdladdr1.c deleted file mode 100644 index a655979bcf..0000000000 --- a/dlfcn/sdladdr1.c +++ /dev/null @@ -1 +0,0 @@ -#include "dladdr1.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index 27309ab1dd..dc5193acbb 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -142,8 +142,7 @@ extern void *__dlvsym (void *handle, const char *name, const char *version attribute_hidden; extern int __dladdr (const void *address, Dl_info *info); extern int __dladdr1 (const void *address, Dl_info *info, - void **extra_info, int flags) - attribute_hidden; + void **extra_info, int flags); extern int __dlinfo (void *handle, int request, void *arg) attribute_hidden; #ifndef SHARED diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 9827bea1e9..172e269fe9 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2144,6 +2144,7 @@ GLIBC_2.3.2 lchmod F GLIBC_2.3.2 setresgid F GLIBC_2.3.2 setresuid F GLIBC_2.3.2 strptime_l F +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 inet6_option_alloc F GLIBC_2.3.3 inet6_option_append F GLIBC_2.3.3 inet6_option_find F @@ -2213,6 +2214,7 @@ GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 _hurd_libc_proc_init F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index d2c315509d..9e890a9815 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 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 9b0f917944..f09046237f 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -719,6 +719,7 @@ GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F GLIBC_2.17 dladdr F +GLIBC_2.17 dladdr1 F GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F GLIBC_2.17 dlmopen F @@ -2348,6 +2349,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist index 391b72c100..05eeace024 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 5b24169acf..1523233c99 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2297,6 +2297,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2440,6 +2441,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 5e28b203cd..cd6a555f6b 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -664,6 +664,7 @@ GLIBC_2.32 dirname F GLIBC_2.32 div F GLIBC_2.32 dl_iterate_phdr F GLIBC_2.32 dladdr F +GLIBC_2.32 dladdr1 F GLIBC_2.32 dlclose F GLIBC_2.32 dlerror F GLIBC_2.32 dlmopen F @@ -2107,6 +2108,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist index b23f34195f..d3afdc0308 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.32 dladdr1 F GLIBC_2.32 dlinfo F GLIBC_2.32 dlopen F GLIBC_2.32 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index ea14c3cd99..07e8854909 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -208,6 +208,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F @@ -1023,6 +1024,7 @@ GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F GLIBC_2.4 dladdr F +GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist index 22691633fb..c24e10d9c5 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 5ff5eb7d04..2f0fef9d7d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -205,6 +205,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F @@ -1020,6 +1021,7 @@ GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F GLIBC_2.4 dladdr F +GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist index 22691633fb..c24e10d9c5 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 8f36e5c844..97ba0642d5 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -700,6 +700,7 @@ GLIBC_2.29 dirname F GLIBC_2.29 div F GLIBC_2.29 dl_iterate_phdr F GLIBC_2.29 dladdr F +GLIBC_2.29 dladdr1 F GLIBC_2.29 dlclose F GLIBC_2.29 dlerror F GLIBC_2.29 dlmopen F @@ -2291,6 +2292,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist index 51061cb361..5cb45f50d3 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.29 dladdr1 F GLIBC_2.29 dlinfo F GLIBC_2.29 dlopen F GLIBC_2.29 dlvsym F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 0302aeae56..257072a63a 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2131,6 +2131,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2244,6 +2245,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 233096afbd..8b0a2381bb 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2312,6 +2312,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2428,6 +2429,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 704fe57ca2..a2fd7b6f0e 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2164,6 +2164,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2280,6 +2281,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 dc32b7561b..ec0f948a22 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -209,6 +209,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F @@ -1012,6 +1013,7 @@ GLIBC_2.4 dirname F GLIBC_2.4 div F GLIBC_2.4 dl_iterate_phdr F GLIBC_2.4 dladdr F +GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F GLIBC_2.4 dlmopen F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist index 22691633fb..c24e10d9c5 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.4 dladdr1 F GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 0ad41be521..2d69d956a1 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2255,6 +2255,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2371,6 +2372,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 ea61742cf2..7e6a7b1645 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -721,6 +721,7 @@ GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F GLIBC_2.18 dladdr F +GLIBC_2.18 dladdr1 F GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F GLIBC_2.18 dlmopen F @@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist index 409e59cf21..c042c043d6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 3b09b44dd8..01bc9594bb 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -721,6 +721,7 @@ GLIBC_2.18 dirname F GLIBC_2.18 div F GLIBC_2.18 dl_iterate_phdr F GLIBC_2.18 dladdr F +GLIBC_2.18 dladdr1 F GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F GLIBC_2.18 dlmopen F @@ -2339,6 +2340,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist index 409e59cf21..c042c043d6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.18 dladdr1 F GLIBC_2.18 dlinfo F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index adde44be66..b13544403e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2221,6 +2221,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist index 04aca378ef..cb7bf28178 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 a4c9a17e9e..e76cbe2a87 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2219,6 +2219,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2334,6 +2335,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist index 04aca378ef..cb7bf28178 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 214e0db752..5ac0d47413 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2227,6 +2227,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2342,6 +2343,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index b09d4058a2..07d121d225 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2220,6 +2220,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x400 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2336,6 +2337,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 748f12c254..a27cb9cf18 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -764,6 +764,7 @@ GLIBC_2.21 dirname F GLIBC_2.21 div F GLIBC_2.21 dl_iterate_phdr F GLIBC_2.21 dladdr F +GLIBC_2.21 dladdr1 F GLIBC_2.21 dlclose F GLIBC_2.21 dlerror F GLIBC_2.21 dlmopen F @@ -2381,6 +2382,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist index 90aaa0b49b..9acd54fa38 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.21 dladdr1 F GLIBC_2.21 dlinfo F GLIBC_2.21 dlopen F GLIBC_2.21 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 4134f7ed41..1a1cbb94ce 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2259,6 +2259,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2398,6 +2399,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 43baf50dca..9b9dc9ef3a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2292,6 +2292,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2431,6 +2432,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index b3d27c2678..aad3704047 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2111,6 +2111,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2245,6 +2246,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist index 8e709e5bc4..c27f19ac95 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 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 60a6327f37..64a45a1c48 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -807,6 +807,7 @@ GLIBC_2.17 dirname F GLIBC_2.17 div F GLIBC_2.17 dl_iterate_phdr F GLIBC_2.17 dladdr F +GLIBC_2.17 dladdr1 F GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F GLIBC_2.17 dlmopen F @@ -2544,6 +2545,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist index 391b72c100..05eeace024 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.17 dladdr1 F GLIBC_2.17 dlinfo F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index dccdf14b63..94c3bcf6e2 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -657,6 +657,7 @@ GLIBC_2.33 dirname F GLIBC_2.33 div F GLIBC_2.33 dl_iterate_phdr F GLIBC_2.33 dladdr F +GLIBC_2.33 dladdr1 F GLIBC_2.33 dlclose F GLIBC_2.33 dlerror F GLIBC_2.33 dlmopen F @@ -2109,6 +2110,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist index 2710b64293..2b91d9886c 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.33 dladdr1 F GLIBC_2.33 dlinfo F GLIBC_2.33 dlopen F GLIBC_2.33 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 2acb8db062..d2cde862c3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -698,6 +698,7 @@ GLIBC_2.27 dirname F GLIBC_2.27 div F GLIBC_2.27 dl_iterate_phdr F GLIBC_2.27 dladdr F +GLIBC_2.27 dladdr1 F GLIBC_2.27 dlclose F GLIBC_2.27 dlerror F GLIBC_2.27 dlmopen F @@ -2309,6 +2310,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist index c0d8307937..8e30134591 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.27 dladdr1 F GLIBC_2.27 dlinfo F GLIBC_2.27 dlopen F GLIBC_2.27 dlvsym F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index b2666bd723..30a533b622 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2268,6 +2268,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2396,6 +2397,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 6ea55ebcdf..77b21973db 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2157,6 +2157,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2282,6 +2283,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist index 45decb94f9..f882403fe2 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 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 7d3680520a..2700b6bf98 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2135,6 +2135,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2251,6 +2252,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 51a77c9553..de6251d508 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2135,6 +2135,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2248,6 +2249,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 45053a171a..7ada64410a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2262,6 +2262,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2389,6 +2390,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 30e7e6baa0..75fb6e4bbe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2186,6 +2186,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2301,6 +2302,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist index 795a5abd45..5f81d13a21 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -1,6 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 abaf3ee9de..d94135174a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2145,6 +2145,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel F GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2260,6 +2261,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist index 91f878e859..6b11f673cc 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 dlvsym F -GLIBC_2.3.3 dladdr1 F GLIBC_2.3.3 dlinfo 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 b30feb4888..989f276480 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -723,6 +723,7 @@ GLIBC_2.16 dirname F GLIBC_2.16 div F GLIBC_2.16 dl_iterate_phdr F GLIBC_2.16 dladdr F +GLIBC_2.16 dladdr1 F GLIBC_2.16 dlclose F GLIBC_2.16 dlerror F GLIBC_2.16 dlmopen F @@ -2363,6 +2364,7 @@ GLIBC_2.34 cnd_signal F GLIBC_2.34 cnd_timedwait F GLIBC_2.34 cnd_wait F GLIBC_2.34 dladdr F +GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F GLIBC_2.34 dlmopen F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist index b37e9ff78c..fe8858d4ec 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,4 +1,3 @@ -GLIBC_2.16 dladdr1 F GLIBC_2.16 dlinfo F GLIBC_2.16 dlopen F GLIBC_2.16 dlvsym F From patchwork Mon May 31 14:12:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43635 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7551D3938C17; Mon, 31 May 2021 14:12:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7551D3938C17 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470343; bh=FS6PLU6hFDxPIMMev6Z7OBLUhAdKTKRNt3tqp9y0uDI=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=DZNHYZMIVdOZTPEzced9mbdA3gz+qPOftcJUJUmMz78qlBXSP4O8L+Dea8BFBDxmk Xy40AKpeomvDZ+4QYgGYbP/r82Y7WsSGcAkdVSGDV7uXLUplxLZYlVModkQc+f7Z5W BcCFLn696qQbTspEk/09kAhavwnKtPLpww5HZ/WI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 294333938C0D for ; Mon, 31 May 2021 14:12:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 294333938C0D Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-236-dOj_rvhIMSiLBv2BdEPYAg-1; Mon, 31 May 2021 10:12:16 -0400 X-MC-Unique: dOj_rvhIMSiLBv2BdEPYAg-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4D1A31009446 for ; Mon, 31 May 2021 14:12:15 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id ECBF75D9D0 for ; Mon, 31 May 2021 14:12:13 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 11/16] dlfcn: Move dlinfo into libc In-Reply-To: References: X-From-Line: e02ba1a5b7fd7d6e9e5e78559e5a787f3f96ee25 Mon Sep 17 00:00:00 2001 Message-Id: Date: Mon, 31 May 2021 16:12:12 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 +- dlfcn/Versions | 4 +- dlfcn/dlfcn.c | 6 +++ dlfcn/dlinfo.c | 45 ++++++++++--------- dlfcn/sdlinfo.c | 1 - include/dlfcn.h | 2 +- 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 | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + sysdeps/unix/sysv/linux/alpha/libdl.abilist | 2 +- 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 | 2 +- sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + sysdeps/unix/sysv/linux/i386/libdl.abilist | 2 +- sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + sysdeps/unix/sysv/linux/ia64/libdl.abilist | 2 +- .../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 | 2 +- .../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 | 2 +- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/libdl.abilist | 2 +- .../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 | 2 +- .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../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 | 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 | 2 +- .../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 | 2 + sysdeps/unix/sysv/linux/sh/be/libdl.abilist | 2 +- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/le/libdl.abilist | 2 +- .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../sysv/linux/sparc/sparc32/libdl.abilist | 2 +- .../sysv/linux/sparc/sparc64/libc.abilist | 2 + .../sysv/linux/sparc/sparc64/libdl.abilist | 2 +- .../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 | 1 - 69 files changed, 120 insertions(+), 54 deletions(-) delete mode 100644 dlfcn/sdlinfo.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index 1dfa247538..c65cdc2e2b 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,7 +21,7 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlvsym dlinfo \ +libdl-routines := dlopen dlvsym \ dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) @@ -30,6 +30,7 @@ routines += \ dladdr1 \ dlclose \ dlerror \ + dlinfo \ dlmopen \ dlsym \ libc_dlerror_result \ diff --git a/dlfcn/Versions b/dlfcn/Versions index acd9402b34..ca9a3e5591 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -7,6 +7,7 @@ libc { } GLIBC_2.3.3 { dladdr1; + dlinfo; } GLIBC_2.3.4 { dlmopen; @@ -16,6 +17,7 @@ libc { dladdr; dlclose; dlerror; + dlinfo; dlmopen; dlsym; } @@ -33,7 +35,7 @@ libdl { dlopen; dlvsym; } GLIBC_2.3.3 { - dlinfo; + __libdl_version_placeholder; } GLIBC_2.3.4 { __libdl_version_placeholder; diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c index 90cdee0903..55ecfcabbe 100644 --- a/dlfcn/dlfcn.c +++ b/dlfcn/dlfcn.c @@ -48,6 +48,12 @@ __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 +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 compat_symbol (libdl, __libdl_version_placeholder_1, diff --git a/dlfcn/dlinfo.c b/dlfcn/dlinfo.c index 9fb2a1405c..15fcbc5dc1 100644 --- a/dlfcn/dlinfo.c +++ b/dlfcn/dlinfo.c @@ -20,18 +20,8 @@ #include #include #include - -#if !defined SHARED && IS_IN (libdl) - -int -dlinfo (void *handle, int request, void *arg) -{ - return __dlinfo (handle, request, arg); -} - -#else - -# include +#include +#include struct dlinfo_args { @@ -88,18 +78,33 @@ dlinfo_doit (void *argsblock) } } +static int +dlinfo_implementation (void *handle, int request, void *arg) +{ + struct dlinfo_args args = { handle, request, arg }; + return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0; +} + +#ifdef SHARED int -__dlinfo (void *handle, int request, void *arg) +___dlinfo (void *handle, int request, void *arg) { -# ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dlinfo (handle, request, arg); -# endif - - struct dlinfo_args args = { handle, request, arg }; - return _dlerror_run (&dlinfo_doit, &args) ? -1 : 0; + else + return dlinfo_implementation (handle, request, arg); } -# ifdef SHARED -strong_alias (__dlinfo, dlinfo) +versioned_symbol (libc, ___dlinfo, dlinfo, GLIBC_2_34); + +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_3_3, GLIBC_2_34) +compat_symbol (libc, ___dlinfo, dlinfo, GLIBC_2_3_3); # endif +#else /* !SHARED */ +/* Also used with _dlfcn_hook. */ +int +__dlinfo (void *handle, int request, void *arg) +{ + return dlinfo_implementation (handle, request, arg); +} +weak_alias (__dlinfo, dlinfo) #endif diff --git a/dlfcn/sdlinfo.c b/dlfcn/sdlinfo.c deleted file mode 100644 index dcc257dd1f..0000000000 --- a/dlfcn/sdlinfo.c +++ /dev/null @@ -1 +0,0 @@ -#include "dlinfo.c" diff --git a/include/dlfcn.h b/include/dlfcn.h index dc5193acbb..e898c17792 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -143,7 +143,7 @@ extern void *__dlvsym (void *handle, const char *name, const char *version extern int __dladdr (const void *address, Dl_info *info); extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags); -extern int __dlinfo (void *handle, int request, void *arg) attribute_hidden; +extern int __dlinfo (void *handle, int request, void *arg); #ifndef SHARED struct link_map; diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 172e269fe9..f4adfc6e5f 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2145,6 +2145,7 @@ GLIBC_2.3.2 setresgid F GLIBC_2.3.2 setresuid F GLIBC_2.3.2 strptime_l F GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 inet6_option_alloc F GLIBC_2.3.3 inet6_option_append F GLIBC_2.3.3 inet6_option_find F @@ -2217,6 +2218,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index 9e890a9815..3a60902d2a 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -1,4 +1,4 @@ GLIBC_2.2.6 dlopen F GLIBC_2.2.6 dlvsym F -GLIBC_2.3.3 dlinfo 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 f09046237f..a962e2966c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -722,6 +722,7 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F +GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlsym F GLIBC_2.17 dngettext F @@ -2352,6 +2353,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 05eeace024..840db53856 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.17 dlinfo F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 1523233c99..b4cab19c7e 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2298,6 +2298,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2444,6 +2445,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 cd6a555f6b..4e5440b6ae 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -667,6 +667,7 @@ GLIBC_2.32 dladdr F GLIBC_2.32 dladdr1 F GLIBC_2.32 dlclose F GLIBC_2.32 dlerror F +GLIBC_2.32 dlinfo F GLIBC_2.32 dlmopen F GLIBC_2.32 dlsym F GLIBC_2.32 dngettext F @@ -2111,6 +2112,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 d3afdc0308..dc71de1647 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.32 dlinfo F GLIBC_2.32 dlopen F GLIBC_2.32 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 07e8854909..45fc27223e 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -211,6 +211,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F @@ -1027,6 +1028,7 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F +GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym 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 c24e10d9c5..763c28ead6 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 2f0fef9d7d..bfe4d7ede0 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -208,6 +208,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F @@ -1024,6 +1025,7 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F +GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym 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 c24e10d9c5..763c28ead6 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 97ba0642d5..f773509d7f 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -703,6 +703,7 @@ GLIBC_2.29 dladdr F GLIBC_2.29 dladdr1 F GLIBC_2.29 dlclose F GLIBC_2.29 dlerror F +GLIBC_2.29 dlinfo F GLIBC_2.29 dlmopen F GLIBC_2.29 dlsym F GLIBC_2.29 dngettext F @@ -2295,6 +2296,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5cb45f50d3..a143948a4c 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.29 dlinfo F GLIBC_2.29 dlopen F GLIBC_2.29 dlvsym F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 257072a63a..3050951d35 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2132,6 +2132,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2248,6 +2249,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 8b0a2381bb..0be412ab6b 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2313,6 +2313,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2432,6 +2433,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 a2fd7b6f0e..ad6bfa0d2a 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2165,6 +2165,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2284,6 +2285,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 ec0f948a22..bb62cc7a4f 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -212,6 +212,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F GLIBC_2.34 execveat F @@ -1016,6 +1017,7 @@ GLIBC_2.4 dladdr F GLIBC_2.4 dladdr1 F GLIBC_2.4 dlclose F GLIBC_2.4 dlerror F +GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym 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 c24e10d9c5..763c28ead6 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.4 dlinfo F GLIBC_2.4 dlopen F GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 2d69d956a1..c313cfbc58 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2256,6 +2256,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2375,6 +2376,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 7e6a7b1645..e841dcad21 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -724,6 +724,7 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F +GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlsym F GLIBC_2.18 dngettext F @@ -2346,6 +2347,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 c042c043d6..327d8ad43b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.18 dlinfo F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 01bc9594bb..3d3e3d7fdb 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -724,6 +724,7 @@ GLIBC_2.18 dladdr F GLIBC_2.18 dladdr1 F GLIBC_2.18 dlclose F GLIBC_2.18 dlerror F +GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlsym F GLIBC_2.18 dngettext F @@ -2343,6 +2344,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 c042c043d6..327d8ad43b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.18 dlinfo F GLIBC_2.18 dlopen F GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index b13544403e..9fe3e79ab1 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2222,6 +2222,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2340,6 +2341,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 cb7bf28178..d10be39aa7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F -GLIBC_2.3.3 dlinfo 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 e76cbe2a87..db04a7d0a7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2220,6 +2220,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2338,6 +2339,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 cb7bf28178..d10be39aa7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F -GLIBC_2.3.3 dlinfo 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 5ac0d47413..50b4c0cc57 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2228,6 +2228,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x200 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2346,6 +2347,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 07d121d225..5d4e18b7f7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2221,6 +2221,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x400 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2340,6 +2341,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 a27cb9cf18..ef4d89fe97 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -767,6 +767,7 @@ GLIBC_2.21 dladdr F GLIBC_2.21 dladdr1 F GLIBC_2.21 dlclose F GLIBC_2.21 dlerror F +GLIBC_2.21 dlinfo F GLIBC_2.21 dlmopen F GLIBC_2.21 dlsym F GLIBC_2.21 dngettext F @@ -2385,6 +2386,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 9acd54fa38..3cecf1ebac 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.21 dlinfo F GLIBC_2.21 dlopen F GLIBC_2.21 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 1a1cbb94ce..32661d6341 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2260,6 +2260,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2402,6 +2403,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 9b9dc9ef3a..e12df18b1c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2293,6 +2293,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2435,6 +2436,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 aad3704047..3262e1b917 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2112,6 +2112,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2249,6 +2250,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 c27f19ac95..ffbe9e75a3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist @@ -1,4 +1,4 @@ GLIBC_2.3 dlopen F GLIBC_2.3 dlvsym F -GLIBC_2.3.3 dlinfo 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 64a45a1c48..d166c4872c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -810,6 +810,7 @@ GLIBC_2.17 dladdr F GLIBC_2.17 dladdr1 F GLIBC_2.17 dlclose F GLIBC_2.17 dlerror F +GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlsym F GLIBC_2.17 dngettext F @@ -2548,6 +2549,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 05eeace024..840db53856 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.17 dlinfo F GLIBC_2.17 dlopen F GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 94c3bcf6e2..5ff4d22e1b 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -660,6 +660,7 @@ GLIBC_2.33 dladdr F GLIBC_2.33 dladdr1 F GLIBC_2.33 dlclose F GLIBC_2.33 dlerror F +GLIBC_2.33 dlinfo F GLIBC_2.33 dlmopen F GLIBC_2.33 dlsym F GLIBC_2.33 dngettext F @@ -2113,6 +2114,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 2b91d9886c..13eefd7db9 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.33 dlinfo F GLIBC_2.33 dlopen F GLIBC_2.33 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index d2cde862c3..caa8247be3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -701,6 +701,7 @@ GLIBC_2.27 dladdr F GLIBC_2.27 dladdr1 F GLIBC_2.27 dlclose F GLIBC_2.27 dlerror F +GLIBC_2.27 dlinfo F GLIBC_2.27 dlmopen F GLIBC_2.27 dlsym F GLIBC_2.27 dngettext F @@ -2313,6 +2314,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 8e30134591..c4b5356c4a 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.27 dlinfo F GLIBC_2.27 dlopen F GLIBC_2.27 dlvsym F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 30a533b622..9d4562eeb7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2269,6 +2269,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2400,6 +2401,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 77b21973db..14f9ab9a0e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2158,6 +2158,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2286,6 +2287,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 f882403fe2..5df5e71ebf 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist @@ -1,4 +1,4 @@ GLIBC_2.2 dlopen F GLIBC_2.2 dlvsym F -GLIBC_2.3.3 dlinfo 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 2700b6bf98..9646c17111 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2136,6 +2136,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2255,6 +2256,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 de6251d508..84643a9d87 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2136,6 +2136,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2252,6 +2253,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 7ada64410a..dc3bbcde02 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2263,6 +2263,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x104 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2393,6 +2394,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 75fb6e4bbe..1170aa5c51 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2187,6 +2187,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2305,6 +2306,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 5f81d13a21..4722aad8b2 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -1,5 +1,5 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F GLIBC_2.1 dlvsym F -GLIBC_2.3.3 dlinfo 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 d94135174a..6aa4eedff4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2146,6 +2146,7 @@ GLIBC_2.3.3 __pthread_unregister_cancel_restore F GLIBC_2.3.3 __pthread_unwind_next F GLIBC_2.3.3 _sys_siglist D 0x208 GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F GLIBC_2.3.3 gnu_dev_minor F @@ -2264,6 +2265,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 6b11f673cc..00764915cf 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -1,4 +1,4 @@ GLIBC_2.2.5 dlopen F GLIBC_2.2.5 dlvsym F -GLIBC_2.3.3 dlinfo 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 989f276480..dab4cbc677 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -726,6 +726,7 @@ GLIBC_2.16 dladdr F GLIBC_2.16 dladdr1 F GLIBC_2.16 dlclose F GLIBC_2.16 dlerror F +GLIBC_2.16 dlinfo F GLIBC_2.16 dlmopen F GLIBC_2.16 dlsym F GLIBC_2.16 dngettext F @@ -2367,6 +2368,7 @@ GLIBC_2.34 dladdr F GLIBC_2.34 dladdr1 F GLIBC_2.34 dlclose F GLIBC_2.34 dlerror F +GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym 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 fe8858d4ec..645f87e571 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,3 +1,2 @@ -GLIBC_2.16 dlinfo F GLIBC_2.16 dlopen F GLIBC_2.16 dlvsym F From patchwork Mon May 31 14:12:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43636 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7E4563938C0F; Mon, 31 May 2021 14:12:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7E4563938C0F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470348; bh=dKt02KPElQ+UNitkX9UrcWTwRCE3Rce43HN4P/1cNlQ=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ck1IpGRcrv43tjOxZigfRyK8TqKBjd07Ozp9P20JWkb4hi3VRrliwByhxVHVuTLmz nSQDlezGxe9ArWWB1p858bOfqfmieX3/TQ2aSCxSW4RNcBQ4opV/6UWD9yl5CyiU6o QNjNm+hpWYUOVY8nEjKE7CRuvgrm7UZ9UV9PlLq8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 271AC3938C0D for ; Mon, 31 May 2021 14:12:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 271AC3938C0D Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-589-UWahJt8-NTu390WOjEjkWw-1; Mon, 31 May 2021 10:12:20 -0400 X-MC-Unique: UWahJt8-NTu390WOjEjkWw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E0ED4180FD68 for ; Mon, 31 May 2021 14:12:19 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9D7F860C4A for ; Mon, 31 May 2021 14:12:18 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 12/16] dlfcn: Move dlvsym into libc In-Reply-To: References: X-From-Line: d74770be23f61d79a41c62c633371be7e0b3c29f Mon Sep 17 00:00:00 2001 Message-Id: Date: Mon, 31 May 2021 16:12:16 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- dlfcn/Makefile | 3 +- dlfcn/Versions | 6 +- dlfcn/dlvsym.c | 66 +++++++++++-------- dlfcn/sdlvsym.c | 1 - elf/dl-sym.c | 2 +- include/dlfcn.h | 6 +- sysdeps/mach/hurd/i386/libc.abilist | 2 + sysdeps/mach/hurd/i386/libdl.abilist | 1 - sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + sysdeps/unix/sysv/linux/aarch64/libdl.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + sysdeps/unix/sysv/linux/alpha/libdl.abilist | 1 - sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + sysdeps/unix/sysv/linux/arc/libdl.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/be/libdl.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/arm/le/libdl.abilist | 1 - sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + sysdeps/unix/sysv/linux/csky/libdl.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + sysdeps/unix/sysv/linux/hppa/libdl.abilist | 1 - sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + sysdeps/unix/sysv/linux/i386/libdl.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + sysdeps/unix/sysv/linux/ia64/libdl.abilist | 1 - .../sysv/linux/m68k/coldfire/libc.abilist | 2 + .../sysv/linux/m68k/coldfire/libdl.abilist | 1 - .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + .../unix/sysv/linux/m68k/m680x0/libdl.abilist | 1 - .../sysv/linux/microblaze/be/libc.abilist | 2 + .../sysv/linux/microblaze/be/libdl.abilist | 1 - .../sysv/linux/microblaze/le/libc.abilist | 2 + .../sysv/linux/microblaze/le/libdl.abilist | 1 - .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips32/libdl.abilist | 1 - .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../unix/sysv/linux/mips/mips64/libdl.abilist | 1 - .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + .../sysv/linux/mips/mips64/n64/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/libdl.abilist | 1 - .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + .../linux/powerpc/powerpc32/libdl.abilist | 1 - .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../linux/powerpc/powerpc64/be/libc.abilist | 2 + .../linux/powerpc/powerpc64/be/libdl.abilist | 1 - .../linux/powerpc/powerpc64/le/libc.abilist | 2 + .../linux/powerpc/powerpc64/le/libdl.abilist | 1 - .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + .../unix/sysv/linux/riscv/rv32/libdl.abilist | 1 - .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + .../unix/sysv/linux/riscv/rv64/libdl.abilist | 1 - .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + .../sysv/linux/s390/s390-32/libdl.abilist | 1 - .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + .../sysv/linux/s390/s390-64/libdl.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/be/libdl.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + sysdeps/unix/sysv/linux/sh/le/libdl.abilist | 1 - .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../sysv/linux/sparc/sparc32/libdl.abilist | 1 - .../sysv/linux/sparc/sparc64/libc.abilist | 2 + .../sysv/linux/sparc/sparc64/libdl.abilist | 1 - .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + .../unix/sysv/linux/x86_64/64/libdl.abilist | 1 - .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + .../unix/sysv/linux/x86_64/x32/libdl.abilist | 1 - 69 files changed, 115 insertions(+), 65 deletions(-) delete mode 100644 dlfcn/sdlvsym.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index c65cdc2e2b..08d92f85fc 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -21,7 +21,7 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl -libdl-routines := dlopen dlvsym \ +libdl-routines := dlopen \ dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) @@ -33,6 +33,7 @@ routines += \ dlinfo \ dlmopen \ dlsym \ + dlvsym \ libc_dlerror_result \ extra-libs-others := libdl diff --git a/dlfcn/Versions b/dlfcn/Versions index ca9a3e5591..3c4fa2742e 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -5,6 +5,9 @@ libc { dlerror; dlsym; } + GLIBC_2.1 { + dlvsym; + } GLIBC_2.3.3 { dladdr1; dlinfo; @@ -20,6 +23,7 @@ libc { dlinfo; dlmopen; dlsym; + dlvsym; } GLIBC_PRIVATE { __libc_dlerror_result; @@ -32,7 +36,7 @@ libdl { dlopen; } GLIBC_2.1 { - dlopen; dlvsym; + dlopen; } GLIBC_2.3.3 { __libdl_version_placeholder; diff --git a/dlfcn/dlvsym.c b/dlfcn/dlvsym.c index 519e706ea1..de6b340647 100644 --- a/dlfcn/dlvsym.c +++ b/dlfcn/dlvsym.c @@ -17,20 +17,9 @@ . */ #include -#include - #include - -#if !defined SHARED && IS_IN (libdl) - -void * -weak_function -dlvsym (void *handle, const char *name, const char *version_str) -{ - return __dlvsym (handle, name, version_str, RETURN_ADDRESS (0)); -} - -#else +#include +#include struct dlvsym_args { @@ -44,29 +33,23 @@ struct dlvsym_args void *sym; }; - static void dlvsym_doit (void *a) { - struct dlvsym_args *args = (struct dlvsym_args *)a; + struct dlvsym_args *args = (struct dlvsym_args *) a; args->sym = _dl_vsym (args->handle, args->name, args->version, args->who); } -void * -__dlvsym (void *handle, const char *name, const char *version_str - DL_CALLER_DECL) +static void * +dlvsym_implementation (void *handle, const char *name, const char *version, + void *dl_caller) { -# ifdef SHARED - if (!rtld_active ()) - return _dlfcn_hook->dlvsym (handle, name, version_str, DL_CALLER); -# endif - struct dlvsym_args args; + args.who = dl_caller; args.handle = handle; args.name = name; - args.who = DL_CALLER; - args.version = version_str; + args.version = version; /* Protect against concurrent loads and unloads. */ __rtld_lock_lock_recursive (GL(dl_load_lock)); @@ -77,7 +60,34 @@ __dlvsym (void *handle, const char *name, const char *version_str return result; } -# ifdef SHARED -weak_alias (__dlvsym, dlvsym) + +#ifdef SHARED +void * +___dlvsym (void *handle, const char *name, const char *version) +{ + if (!rtld_active ()) + return _dlfcn_hook->dlvsym (handle, name, version, RETURN_ADDRESS (0)); + else + return dlvsym_implementation (handle, name, version, RETURN_ADDRESS (0)); +} +versioned_symbol (libc, ___dlvsym, dlvsym, GLIBC_2_34); + +# if OTHER_SHLIB_COMPAT (libdl, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libdl, ___dlvsym, dlvsym, GLIBC_2_1); # endif -#endif + +#else /* !SHARED */ +/* Also used with _dlfcn_hook. */ +void * +__dlvsym (void *handle, const char *name, const char *version, void *dl_caller) +{ + return dlvsym_implementation (handle, name, version, dl_caller); +} + +void * +___dlvsym (void *handle, const char *name, const char *version) +{ + return __dlvsym (handle, name, version, RETURN_ADDRESS (0)); +} +weak_alias (___dlvsym, dlvsym) +#endif /* !SHARED */ diff --git a/dlfcn/sdlvsym.c b/dlfcn/sdlvsym.c deleted file mode 100644 index ec4286058c..0000000000 --- a/dlfcn/sdlvsym.c +++ /dev/null @@ -1 +0,0 @@ -#include "dlvsym.c" diff --git a/elf/dl-sym.c b/elf/dl-sym.c index b34cc2f8eb..fa0cce678f 100644 --- a/elf/dl-sym.c +++ b/elf/dl-sym.c @@ -188,7 +188,7 @@ _dl_vsym (void *handle, const char *name, const char *version, void *who) return do_sym (handle, name, who, &vers, 0); } - +libc_hidden_def (_dl_vsym) void * _dl_sym (void *handle, const char *name, void *who) diff --git a/include/dlfcn.h b/include/dlfcn.h index e898c17792..04ea4f6e2d 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -92,6 +92,7 @@ libc_hidden_proto (_dl_sym) NULL. */ extern void *_dl_vsym (void *handle, const char *name, const char *version, void *who); +libc_hidden_proto (_dl_vsym) /* Helper function for functions. Runs the OPERATE function via _dl_catch_error. Returns zero for success, nonzero for failure; and @@ -137,9 +138,8 @@ extern void *__dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller); extern int __dlclose (void *handle); extern void *__dlsym (void *handle, const char *name, void *dl_caller); -extern void *__dlvsym (void *handle, const char *name, const char *version - DL_CALLER_DECL) - attribute_hidden; +extern void *__dlvsym (void *handle, const char *name, const char *version, + void *dl_caller); extern int __dladdr (const void *address, Dl_info *info); extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags); diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index f4adfc6e5f..f0bd076005 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -745,6 +745,7 @@ GLIBC_2.2.6 dladdr F GLIBC_2.2.6 dlclose F GLIBC_2.2.6 dlerror F GLIBC_2.2.6 dlsym F +GLIBC_2.2.6 dlvsym F GLIBC_2.2.6 dngettext F GLIBC_2.2.6 dprintf F GLIBC_2.2.6 drand48 F @@ -2221,6 +2222,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 timespec_getres F GLIBC_2.4 __confstr_chk F diff --git a/sysdeps/mach/hurd/i386/libdl.abilist b/sysdeps/mach/hurd/i386/libdl.abilist index 3a60902d2a..cd906eff75 100644 --- a/sysdeps/mach/hurd/i386/libdl.abilist +++ b/sysdeps/mach/hurd/i386/libdl.abilist @@ -1,4 +1,3 @@ GLIBC_2.2.6 dlopen F -GLIBC_2.2.6 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index a962e2966c..deebf612dc 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -725,6 +725,7 @@ GLIBC_2.17 dlerror F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlsym F +GLIBC_2.17 dlvsym F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F GLIBC_2.17 drand48 F @@ -2356,6 +2357,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist index 840db53856..1fabf08e3c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.17 dlopen F -GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index b4cab19c7e..a4f79e54d8 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1524,6 +1524,7 @@ GLIBC_2.1 cbc_crypt F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2448,6 +2449,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/alpha/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/alpha/libdl.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 4e5440b6ae..ad8180833a 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -670,6 +670,7 @@ GLIBC_2.32 dlerror F GLIBC_2.32 dlinfo F GLIBC_2.32 dlmopen F GLIBC_2.32 dlsym F +GLIBC_2.32 dlvsym F GLIBC_2.32 dngettext F GLIBC_2.32 dprintf F GLIBC_2.32 drand48 F @@ -2115,6 +2116,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/arc/libdl.abilist b/sysdeps/unix/sysv/linux/arc/libdl.abilist index dc71de1647..aef59c3c3c 100644 --- a/sysdeps/unix/sysv/linux/arc/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arc/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.32 dlopen F -GLIBC_2.32 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 45fc27223e..a9eae3c20e 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -214,6 +214,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1031,6 +1032,7 @@ GLIBC_2.4 dlerror F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym F +GLIBC_2.4 dlvsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F GLIBC_2.4 drand48 F diff --git a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist index 763c28ead6..f6280a2f0d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.4 dlopen F -GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index bfe4d7ede0..c93d59d01b 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -211,6 +211,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1028,6 +1029,7 @@ GLIBC_2.4 dlerror F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym F +GLIBC_2.4 dlvsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F GLIBC_2.4 drand48 F diff --git a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist index 763c28ead6..f6280a2f0d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.4 dlopen F -GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index f773509d7f..226187a2e2 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -706,6 +706,7 @@ GLIBC_2.29 dlerror F GLIBC_2.29 dlinfo F GLIBC_2.29 dlmopen F GLIBC_2.29 dlsym F +GLIBC_2.29 dlvsym F GLIBC_2.29 dngettext F GLIBC_2.29 dprintf F GLIBC_2.29 drand48 F @@ -2299,6 +2300,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/csky/libdl.abilist b/sysdeps/unix/sysv/linux/csky/libdl.abilist index a143948a4c..323b9117b2 100644 --- a/sysdeps/unix/sysv/linux/csky/libdl.abilist +++ b/sysdeps/unix/sysv/linux/csky/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.29 dlopen F -GLIBC_2.29 dlvsym F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 3050951d35..1b41bfd3d7 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2,6 +2,7 @@ GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlsym F +GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2252,6 +2253,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/hppa/libdl.abilist b/sysdeps/unix/sysv/linux/hppa/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/hppa/libdl.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 0be412ab6b..2c0369a482 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1498,6 +1498,7 @@ GLIBC_2.1 chown F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2436,6 +2437,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ b/sysdeps/unix/sysv/linux/i386/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index ad6bfa0d2a..852bba8bf8 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2,6 +2,7 @@ GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlsym F +GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2288,6 +2289,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/ia64/libdl.abilist b/sysdeps/unix/sysv/linux/ia64/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/ia64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index bb62cc7a4f..c55e7622c7 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -215,6 +215,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F @@ -1020,6 +1021,7 @@ GLIBC_2.4 dlerror F GLIBC_2.4 dlinfo F GLIBC_2.4 dlmopen F GLIBC_2.4 dlsym F +GLIBC_2.4 dlvsym F GLIBC_2.4 dngettext F GLIBC_2.4 dprintf F GLIBC_2.4 drand48 F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist index 763c28ead6..f6280a2f0d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.4 dlopen F -GLIBC_2.4 dlvsym F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index c313cfbc58..b97c4a53f5 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1495,6 +1495,7 @@ GLIBC_2.1 cbc_crypt F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2379,6 +2380,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index e841dcad21..f5a906f7c5 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -727,6 +727,7 @@ GLIBC_2.18 dlerror F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlsym F +GLIBC_2.18 dlvsym F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F GLIBC_2.18 drand48 F @@ -2350,6 +2351,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist index 327d8ad43b..f8d2fc1b69 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.18 dlopen F -GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 3d3e3d7fdb..81ccb4e029 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -727,6 +727,7 @@ GLIBC_2.18 dlerror F GLIBC_2.18 dlinfo F GLIBC_2.18 dlmopen F GLIBC_2.18 dlsym F +GLIBC_2.18 dlvsym F GLIBC_2.18 dngettext F GLIBC_2.18 dprintf F GLIBC_2.18 drand48 F @@ -2347,6 +2348,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist index 327d8ad43b..f8d2fc1b69 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.18 dlopen F -GLIBC_2.18 dlvsym F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 9fe3e79ab1..e4e1b90620 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1680,6 +1680,7 @@ GLIBC_2.2 clock_settime F GLIBC_2.2 creat64 F GLIBC_2.2 dcngettext F GLIBC_2.2 des_setparity F +GLIBC_2.2 dlvsym F GLIBC_2.2 dngettext F GLIBC_2.2 ecb_crypt F GLIBC_2.2 endutxent F @@ -2344,6 +2345,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist index d10be39aa7..69d0dae81c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F -GLIBC_2.2 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index db04a7d0a7..458475399a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1678,6 +1678,7 @@ GLIBC_2.2 clock_settime F GLIBC_2.2 creat64 F GLIBC_2.2 dcngettext F GLIBC_2.2 des_setparity F +GLIBC_2.2 dlvsym F GLIBC_2.2 dngettext F GLIBC_2.2 ecb_crypt F GLIBC_2.2 endutxent F @@ -2342,6 +2343,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist index d10be39aa7..69d0dae81c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.2 dlopen F -GLIBC_2.2 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 50b4c0cc57..c79ce36927 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1679,6 +1679,7 @@ GLIBC_2.2 clock_settime F GLIBC_2.2 creat64 F GLIBC_2.2 dcngettext F GLIBC_2.2 des_setparity F +GLIBC_2.2 dlvsym F GLIBC_2.2 dngettext F GLIBC_2.2 ecb_crypt F GLIBC_2.2 endutxent F @@ -2350,6 +2351,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 5d4e18b7f7..4f642a64f8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1675,6 +1675,7 @@ GLIBC_2.2 clock_settime F GLIBC_2.2 creat64 F GLIBC_2.2 dcngettext F GLIBC_2.2 des_setparity F +GLIBC_2.2 dlvsym F GLIBC_2.2 dngettext F GLIBC_2.2 ecb_crypt F GLIBC_2.2 endutxent F @@ -2344,6 +2345,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index ef4d89fe97..403a109f8f 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -770,6 +770,7 @@ GLIBC_2.21 dlerror F GLIBC_2.21 dlinfo F GLIBC_2.21 dlmopen F GLIBC_2.21 dlsym F +GLIBC_2.21 dlvsym F GLIBC_2.21 dngettext F GLIBC_2.21 dprintf F GLIBC_2.21 drand48 F @@ -2389,6 +2390,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/nios2/libdl.abilist b/sysdeps/unix/sysv/linux/nios2/libdl.abilist index 3cecf1ebac..b83daf801c 100644 --- a/sysdeps/unix/sysv/linux/nios2/libdl.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.21 dlopen F -GLIBC_2.21 dlvsym F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 32661d6341..a51daed07a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1503,6 +1503,7 @@ GLIBC_2.1 chown F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2406,6 +2407,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index e12df18b1c..54b6d41c6d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1503,6 +1503,7 @@ GLIBC_2.1 chown F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2439,6 +2440,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 3262e1b917..be60141560 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -762,6 +762,7 @@ GLIBC_2.3 dladdr F GLIBC_2.3 dlclose F GLIBC_2.3 dlerror F GLIBC_2.3 dlsym F +GLIBC_2.3 dlvsym F GLIBC_2.3 dngettext F GLIBC_2.3 dprintf F GLIBC_2.3 drand48 F @@ -2253,6 +2254,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist index ffbe9e75a3..c32fb65365 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libdl.abilist @@ -1,4 +1,3 @@ GLIBC_2.3 dlopen F -GLIBC_2.3 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index d166c4872c..4157f78a90 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -813,6 +813,7 @@ GLIBC_2.17 dlerror F GLIBC_2.17 dlinfo F GLIBC_2.17 dlmopen F GLIBC_2.17 dlsym F +GLIBC_2.17 dlvsym F GLIBC_2.17 dngettext F GLIBC_2.17 dprintf F GLIBC_2.17 drand48 F @@ -2552,6 +2553,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist index 840db53856..1fabf08e3c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.17 dlopen F -GLIBC_2.17 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 5ff4d22e1b..367e46b2e2 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -663,6 +663,7 @@ GLIBC_2.33 dlerror F GLIBC_2.33 dlinfo F GLIBC_2.33 dlmopen F GLIBC_2.33 dlsym F +GLIBC_2.33 dlvsym F GLIBC_2.33 dngettext F GLIBC_2.33 dprintf F GLIBC_2.33 drand48 F @@ -2117,6 +2118,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist index 13eefd7db9..7014e0e280 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.33 dlopen F -GLIBC_2.33 dlvsym F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index caa8247be3..aec46ac3c0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -704,6 +704,7 @@ GLIBC_2.27 dlerror F GLIBC_2.27 dlinfo F GLIBC_2.27 dlmopen F GLIBC_2.27 dlsym F +GLIBC_2.27 dlvsym F GLIBC_2.27 dngettext F GLIBC_2.27 dprintf F GLIBC_2.27 drand48 F @@ -2317,6 +2318,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist index c4b5356c4a..d4d85e298f 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.27 dlopen F -GLIBC_2.27 dlvsym F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 9d4562eeb7..5dbfc50d2a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -1495,6 +1495,7 @@ GLIBC_2.1 chown F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2404,6 +2405,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 14f9ab9a0e..c0d3d8362c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -699,6 +699,7 @@ GLIBC_2.2 dladdr F GLIBC_2.2 dlclose F GLIBC_2.2 dlerror F GLIBC_2.2 dlsym F +GLIBC_2.2 dlvsym F GLIBC_2.2 dngettext F GLIBC_2.2 dprintf F GLIBC_2.2 drand48 F @@ -2290,6 +2291,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist index 5df5e71ebf..59fedff595 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libdl.abilist @@ -1,4 +1,3 @@ GLIBC_2.2 dlopen F -GLIBC_2.2 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 9646c17111..1928e8a1fb 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlsym F +GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2259,6 +2260,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 84643a9d87..738628c7b6 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlsym F +GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2256,6 +2257,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index dc3bbcde02..c7e29c5d31 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1496,6 +1496,7 @@ GLIBC_2.1 cbc_crypt F GLIBC_2.1 clntunix_create F GLIBC_2.1 creat64 F GLIBC_2.1 des_setparity F +GLIBC_2.1 dlvsym F GLIBC_2.1 ecb_crypt F GLIBC_2.1 endutxent F GLIBC_2.1 fattach F @@ -2397,6 +2398,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 1170aa5c51..e5c7a92b38 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -6,6 +6,7 @@ GLIBC_2.0 dladdr F GLIBC_2.0 dlclose F GLIBC_2.0 dlerror F GLIBC_2.0 dlsym F +GLIBC_2.1 dlvsym F GLIBC_2.10 __cxa_at_quick_exit F GLIBC_2.10 __posix_getopt F GLIBC_2.10 accept4 F @@ -2309,6 +2310,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist index 4722aad8b2..8500feca8a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist @@ -1,5 +1,4 @@ GLIBC_2.0 dlopen F GLIBC_2.1 dlopen F -GLIBC_2.1 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 6aa4eedff4..7e35c50406 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -689,6 +689,7 @@ GLIBC_2.2.5 dladdr F GLIBC_2.2.5 dlclose F GLIBC_2.2.5 dlerror F GLIBC_2.2.5 dlsym F +GLIBC_2.2.5 dlvsym F GLIBC_2.2.5 dngettext F GLIBC_2.2.5 dprintf F GLIBC_2.2.5 drand48 F @@ -2268,6 +2269,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist index 00764915cf..7a82c097cf 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -1,4 +1,3 @@ GLIBC_2.2.5 dlopen F -GLIBC_2.2.5 dlvsym F GLIBC_2.3.3 __libdl_version_placeholder F GLIBC_2.3.4 __libdl_version_placeholder F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index dab4cbc677..4d1dd2b3a2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -729,6 +729,7 @@ GLIBC_2.16 dlerror F GLIBC_2.16 dlinfo F GLIBC_2.16 dlmopen F GLIBC_2.16 dlsym F +GLIBC_2.16 dlvsym F GLIBC_2.16 dngettext F GLIBC_2.16 dprintf F GLIBC_2.16 drand48 F @@ -2371,6 +2372,7 @@ GLIBC_2.34 dlerror F GLIBC_2.34 dlinfo F GLIBC_2.34 dlmopen F GLIBC_2.34 dlsym F +GLIBC_2.34 dlvsym F GLIBC_2.34 execveat F GLIBC_2.34 mtx_destroy F GLIBC_2.34 mtx_init F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist index 645f87e571..92d5e7d128 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -1,2 +1 @@ GLIBC_2.16 dlopen F -GLIBC_2.16 dlvsym F From patchwork Mon May 31 14:12:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43637 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0C8523938C0B; Mon, 31 May 2021 14:12:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0C8523938C0B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470355; bh=imnRrT0Br3yFbxyruziScLGzV6yVT/h//HHC1nkhi5A=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=A7li5ZIPe08z+wdYM7X6OVBVlNqbj6wmm5IDjr/Ml0FuynVG/dC71/HXp6YLn3TV6 Z0w50gidwNr1AtsqhFK9uBRDVTgzYH/7Es0/pBnKTdVzOh/RX+mf2fGGsdK3cvBcPD O5tqENpwA8NiAS0Dzqq2MfpI/hDb6WqfeDdE+ESI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 151443938C27 for ; Mon, 31 May 2021 14:12:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 151443938C27 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-31-7nJc56rvPjWXXDO0sCe8qw-1; Mon, 31 May 2021 10:12:26 -0400 X-MC-Unique: 7nJc56rvPjWXXDO0sCe8qw-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7162D8049CA for ; Mon, 31 May 2021 14:12:25 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F40506064B for ; Mon, 31 May 2021 14:12:23 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 13/16] dlfcn: Move dlopen into libc In-Reply-To: References: X-From-Line: 88d8aaf6b3975effbcac0f2d04e88d49b638fe42 Mon Sep 17 00:00:00 2001 Message-Id: <88d8aaf6b3975effbcac0f2d04e88d49b638fe42.1622469909.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:21 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The symbol was moved using scripts/move-symbol-to-libc.py. 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)) 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; 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 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 */ 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); 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" 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); 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 From patchwork Mon May 31 14:12:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43639 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EC6C43938C1A; Mon, 31 May 2021 14:12:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EC6C43938C1A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470368; bh=1POn5AAE2VambEQvpDFLNDZEgSRwxqLoETgRxA7t2bs=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ZE3F4i5drRDCZfLdfjaJm3B2FtXrb2OQJ1AipOSlgLA/xrSeqC/w1Svkx8iR0xOLM ApGP3XX2ZCimzwp62RLvpFdv+cOM/svSgacvGdnD16GA74Ww/O49oA6u0BGX1/5TG3 bHr0AL+ZDPw7g6zviPyURDV2HK10VkE3sDgWNcQA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 19F143898532 for ; Mon, 31 May 2021 14:12:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 19F143898532 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-63-6BpyoWO2N7u8yChkOamGNQ-1; Mon, 31 May 2021 10:12:31 -0400 X-MC-Unique: 6BpyoWO2N7u8yChkOamGNQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A5E80180FD62 for ; Mon, 31 May 2021 14:12:30 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 361C85D6D5 for ; Mon, 31 May 2021 14:12:29 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 14/16] dlfcn: Cleanups after -ldl is no longer required In-Reply-To: References: X-From-Line: 0deca0d2cb365a2a9da69f89f995d5feb844c767 Mon Sep 17 00:00:00 2001 Message-Id: <0deca0d2cb365a2a9da69f89f995d5feb844c767.1622469909.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:27 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This commit removes the ELF constructor and internal variables from dlfcn, and adjusts the test suite not to use $(libdl). The libdl.so symbolic link is no longer installed. Moving the dlfcn object file to libdl-shared-only-routines ensures that libdl.a is empty. Reviewed-by: Adhemerval Zanella --- Makeconfig | 6 -- dlfcn/Makefile | 40 +++------ dlfcn/dlfcn.c | 18 ---- elf/Makefile | 172 +++++++-------------------------------- htl/Makefile | 1 - iconvdata/Makefile | 1 - include/dlfcn.h | 18 ---- malloc/Makefile | 3 - misc/Makefile | 2 - nptl/Makefile | 7 -- nss/Makefile | 5 -- resolv/Makefile | 19 ++--- stdlib/Makefile | 8 +- string/Makefile | 1 - sysdeps/mips/Makefile | 1 - sysdeps/pthread/Makefile | 6 +- sysdeps/x86/Makefile | 13 +-- 17 files changed, 56 insertions(+), 265 deletions(-) diff --git a/Makeconfig b/Makeconfig index 1d5e45926c..c3496452b6 100644 --- a/Makeconfig +++ b/Makeconfig @@ -1255,12 +1255,6 @@ endif endif # build-shared -ifeq ($(build-shared),yes) -libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version) -else -libdl = $(common-objpfx)dlfcn/libdl.a -endif - ifeq ($(build-shared),yes) libm = $(common-objpfx)math/libm.so$(libm.so-version) libmvec = $(common-objpfx)mathvec/libmvec.so$(libmvec.so-version) diff --git a/dlfcn/Makefile b/dlfcn/Makefile index a471d86071..4d17f770a1 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -22,9 +22,7 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl libdl-routines := dlfcn -routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) -elide-routines.os := $(routines) -routines += \ +routines = \ dladdr \ dladdr1 \ dlclose \ @@ -38,9 +36,16 @@ routines += \ extra-libs-others := libdl +libdl-shared-only-routines += dlfcn + +# Pretend that libdl.so is a linker script, so that the symbolic +# link is not installed. +install-lib-ldscripts = libdl.so +$(inst_libdir)/libdl.so: + ifeq ($(build-shared),yes) routines += dlopenold -shared-only-routines := dlopenold dlfcn +shared-only-routines := dlopenold endif ifeq (yes,$(build-shared)) @@ -87,77 +92,54 @@ ifeq ($(build-shared),yes) tests: $(test-modules) endif -$(objpfx)glrefmain: $(libdl) $(objpfx)glrefmain.out: $(objpfx)glrefmain \ $(objpfx)glreflib1.so $(objpfx)glreflib2.so -$(objpfx)failtest: $(libdl) $(objpfx)failtest.out: $(objpfx)failtestmod.so -$(objpfx)tst-dladdr: $(libdl) $(objpfx)tst-dladdr.out: $(objpfx)glreflib1.so -$(objpfx)tst-dlinfo: $(libdl) $(objpfx)tst-dlinfo.out: $(objpfx)glreflib3.so LDFLAGS-glreflib3.so = -Wl,-rpath,: LDFLAGS-default = $(LDFLAGS-rdynamic) -$(objpfx)default: $(libdl) $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so -$(objpfx)defaultmod1.so: $(libdl) +$(objpfx)default: $(objpfx)defaultmod1.so $(objpfx)defaultmod2.so LDFLAGS-defaultmod2.so = $(LDFLAGS-Bsymbolic) -$(objpfx)defaultmod2.so: $(libdl) -$(objpfx)errmsg1: $(libdl) $(objpfx)errmsg1.out: $(objpfx)errmsg1 $(objpfx)errmsg1mod.so -$(objpfx)tstatexit: $(libdl) $(objpfx)tstatexit.out: $(objpfx)tstatexit $(objpfx)modatexit.so -$(objpfx)tstcxaatexit: $(libdl) $(objpfx)tstcxaatexit.out: $(objpfx)tstcxaatexit $(objpfx)modcxaatexit.so -$(objpfx)tststatic: $(objpfx)libdl.a $(objpfx)tststatic.out: $(objpfx)tststatic $(objpfx)modstatic.so -$(objpfx)tststatic2: $(objpfx)libdl.a $(objpfx)tststatic2.out: $(objpfx)tststatic2 $(objpfx)modstatic.so \ $(objpfx)modstatic2.so -$(objpfx)modstatic2.so: $(libdl) - -$(objpfx)tststatic3: $(objpfx)libdl.a $(objpfx)tststatic3.out: $(objpfx)tststatic3 $(objpfx)modstatic3.so -$(objpfx)tststatic4: $(objpfx)libdl.a $(objpfx)tststatic4.out: $(objpfx)tststatic4 $(objpfx)modstatic3.so -$(objpfx)tststatic5: $(objpfx)libdl.a $(objpfx)tststatic5.out: $(objpfx)tststatic5 $(objpfx)modstatic5.so -$(objpfx)bug-dlopen1: $(libdl) - -$(objpfx)bug-dlsym1: $(libdl) $(objpfx)bug-dlsym1-lib2.so +$(objpfx)bug-dlsym1: $(objpfx)bug-dlsym1-lib2.so $(objpfx)bug-dlsym1.out: $(objpfx)bug-dlsym1-lib1.so \ $(objpfx)bug-dlsym1-lib2.so $(objpfx)bug-dlsym1-lib1.so: $(objpfx)bug-dlsym1-lib2.so -$(objpfx)bug-atexit1: $(libdl) $(objpfx)bug-atexit1.out: $(objpfx)bug-atexit1-lib.so -$(objpfx)bug-atexit2: $(libdl) $(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so ifneq (,$(CXX)) LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh $(objpfx)bug-atexit3-lib.so: $(libsupport) -$(objpfx)bug-atexit3: $(libdl) $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so endif $(objpfx)bug-dl-leaf: $(objpfx)bug-dl-leaf-lib.so $(objpfx)bug-dl-leaf.out: $(objpfx)bug-dl-leaf-lib-cb.so -$(objpfx)bug-dl-leaf-lib.so: $(libdl) $(objpfx)bug-dl-leaf-lib-cb.so: $(objpfx)bug-dl-leaf-lib.so -$(objpfx)tst-rec-dlopen: $(libdl) $(objpfx)tst-rec-dlopen.out: $(objpfx)moddummy1.so $(objpfx)moddummy2.so diff --git a/dlfcn/dlfcn.c b/dlfcn/dlfcn.c index ef750bc27a..e7fa01ecf5 100644 --- a/dlfcn/dlfcn.c +++ b/dlfcn/dlfcn.c @@ -19,24 +19,6 @@ #include #include -int __dlfcn_argc attribute_hidden; -char **__dlfcn_argv attribute_hidden; - - -static void -init (int argc, char *argv[]) -{ - __dlfcn_argc = argc; - __dlfcn_argv = argv; -} - -static void (*const init_array []) (int argc, char *argv[]) - __attribute__ ((section (".init_array"), aligned (sizeof (void *)))) - __attribute_used__ = -{ - init -}; - /* The remainder of this file is used to keep specific symbol versions occupied, so that ld does not generate weak symbol version definitions. */ diff --git a/elf/Makefile b/elf/Makefile index 0ec736bb0f..e9788d3d4f 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -673,8 +673,6 @@ $(objpfx)ldd: ldd.bash.in $(common-objpfx)soversions.mk \ chmod 555 $@.new mv -f $@.new $@ -$(objpfx)sprof: $(libdl) - $(objpfx)sln: $(sln-modules:%=$(objpfx)%.o) $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o) @@ -699,28 +697,21 @@ 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_1.so: $(objpfx)testobj1.so $(libdl) -$(objpfx)testobj2.so: $(objpfx)testobj1.so $(libdl) -$(objpfx)testobj3.so: $(libdl) -$(objpfx)testobj4.so: $(libdl) -$(objpfx)testobj5.so: $(libdl) -$(objpfx)testobj6.so: $(objpfx)testobj1.so $(objpfx)testobj2.so $(libdl) +$(objpfx)testobj1_1.so: $(objpfx)testobj1.so +$(objpfx)testobj2.so: $(objpfx)testobj1.so +$(objpfx)testobj6.so: $(objpfx)testobj1.so $(objpfx)testobj2.so $(objpfx)failobj.so: $(objpfx)testobj6.so $(objpfx)dep1.so: $(objpfx)dep2.so $(objpfx)dep4.so $(objpfx)dep2.so: $(objpfx)dep3.so $(objpfx)dep4.so $(objpfx)dep4.so: $(objpfx)dep3.so $(objpfx)nodelmod3.so: $(objpfx)nodelmod4.so -$(objpfx)nextmod1.so: $(libdl) -$(objpfx)neededobj1.so: $(libdl) -$(objpfx)neededobj2.so: $(objpfx)neededobj1.so $(libdl) -$(objpfx)neededobj3.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so $(libdl) +$(objpfx)neededobj2.so: $(objpfx)neededobj1.so +$(objpfx)neededobj3.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so $(objpfx)neededobj4.so: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ - $(objpfx)neededobj3.so $(libdl) + $(objpfx)neededobj3.so $(objpfx)neededobj6.so: $(objpfx)neededobj5.so $(objpfx)unload2mod.so: $(objpfx)unload2dep.so -$(objpfx)ltglobmod2.so: $(libdl) $(objpfx)firstobj.so: $(shared-thread-library) -$(objpfx)globalmod1.so: $(libdl) $(objpfx)reldep4mod1.so: $(objpfx)reldep4mod3.so $(objpfx)reldep4mod2.so: $(objpfx)reldep4mod4.so $(objpfx)dblloadmod1.so: $(objpfx)dblloadmod3.so @@ -750,14 +741,9 @@ $(objpfx)unload3mod2.so: $(objpfx)unload3mod3.so $(objpfx)unload3mod3.so: $(objpfx)unload3mod4.so $(objpfx)unload4mod1.so: $(objpfx)unload4mod2.so $(objpfx)unload4mod3.so $(objpfx)unload4mod2.so: $(objpfx)unload4mod4.so $(objpfx)unload4mod3.so -$(objpfx)unload6mod1.so: $(libdl) -$(objpfx)unload6mod2.so: $(libdl) -$(objpfx)unload6mod3.so: $(libdl) -$(objpfx)unload7mod1.so: $(libdl) $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so $(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so $(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so -$(objpfx)unload8mod3.so: $(libdl) $(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so $(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so @@ -766,8 +752,6 @@ $(objpfx)tst-initorder: $(objpfx)tst-initordera4.so $(objpfx)tst-initordera1.so $(objpfx)tst-null-argv: $(objpfx)tst-null-argv-lib.so $(objpfx)tst-tlsalign: $(objpfx)tst-tlsalign-lib.so $(objpfx)tst-nodelete-opened.out: $(objpfx)tst-nodelete-opened-lib.so -$(objpfx)tst-nodelete-opened: $(libdl) -$(objpfx)tst-noload: $(libdl) $(objpfx)tst-tlsalign-extern: $(objpfx)tst-tlsalign-vars.o $(objpfx)tst-tlsalign-extern-static: $(objpfx)tst-tlsalign-vars.o @@ -842,30 +826,25 @@ ifeq ($(build-shared),yes) tests: $(test-modules) endif -$(objpfx)loadtest: $(libdl) LDFLAGS-loadtest = -rdynamic $(objpfx)loadtest.out: $(test-modules) -$(objpfx)neededtest: $(libdl) $(objpfx)neededtest.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so -$(objpfx)neededtest2: $(libdl) $(objpfx)neededtest2.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so -$(objpfx)neededtest3: $(libdl) $(objpfx)neededtest3.out: $(objpfx)neededobj1.so $(objpfx)neededobj2.so \ $(objpfx)neededobj3.so $(objpfx)neededobj4.so -$(objpfx)neededtest4: $(libdl) $(objpfx)neededobj1.so +$(objpfx)neededtest4: $(objpfx)neededobj1.so $(objpfx)neededtest4.out: $(objpfx)neededobj5.so $(objpfx)neededobj6.so -$(objpfx)restest1: $(objpfx)testobj1.so $(objpfx)testobj1_1.so $(libdl) +$(objpfx)restest1: $(objpfx)testobj1.so $(objpfx)testobj1_1.so LDFLAGS-restest1 = -rdynamic -$(objpfx)restest2: $(libdl) LDFLAGS-restest2 = -rdynamic $(objpfx)restest1.out: $(test-modules) @@ -877,31 +856,24 @@ $(objpfx)preloadtest.out: $(preloadtest-preloads:%=$(objpfx)%.so) preloadtest-ENV = \ LD_PRELOAD=$(subst $(empty) ,:,$(strip $(preloadtest-preloads:=.so))) -$(objpfx)loadfail: $(libdl) LDFLAGS-loadfail = -rdynamic $(objpfx)loadfail.out: $(objpfx)failobj.so -$(objpfx)multiload: $(libdl) LDFLAGS-multiload = -rdynamic CFLAGS-multiload.c += -DOBJDIR=\"$(elf-objpfx)\" $(objpfx)multiload.out: $(objpfx)testobj1.so -$(objpfx)origtest: $(libdl) LDFLAGS-origtest = -rdynamic $(objpfx)origtest.out: $(objpfx)testobj1.so ifeq ($(have-thread-library),yes) -$(objpfx)resolvfail: $(libdl) $(shared-thread-library) -else -$(objpfx)resolvfail: $(libdl) +$(objpfx)resolvfail: $(shared-thread-library) endif -$(objpfx)constload1: $(libdl) $(objpfx)constload1.out: $(objpfx)constload2.so $(objpfx)constload3.so -$(objpfx)circleload1: $(libdl) $(objpfx)circleload1.out: $(objpfx)circlemod1.so \ $(objpfx)circlemod1a.so @@ -920,7 +892,7 @@ $(objpfx)vismain: $(addprefix $(objpfx),vismod1.so vismod2.so) $(objpfx)vismain.out: $(addprefix $(objpfx),vismod3.so) vismain-ENV = LD_PRELOAD=$(addprefix $(objpfx),vismod3.so) -$(objpfx)noload: $(objpfx)testobj1.so $(libdl) +$(objpfx)noload: $(objpfx)testobj1.so LDFLAGS-noload = -rdynamic -Wl,--no-as-needed $(objpfx)noload.out: $(objpfx)testobj5.so @@ -932,16 +904,13 @@ noload-ENV = MALLOC_TRACE=$(objpfx)noload.mtrace LDFLAGS-nodelete = -rdynamic LDFLAGS-nodelmod1.so = -Wl,--enable-new-dtags,-z,nodelete LDFLAGS-nodelmod4.so = -Wl,--enable-new-dtags,-z,nodelete -$(objpfx)nodelete: $(libdl) $(objpfx)nodelete.out: $(objpfx)nodelmod1.so $(objpfx)nodelmod2.so \ $(objpfx)nodelmod3.so LDFLAGS-nodlopenmod.so = -Wl,--enable-new-dtags,-z,nodlopen -$(objpfx)nodlopen: $(libdl) $(objpfx)nodlopen.out: $(objpfx)nodlopenmod.so $(objpfx)nodlopenmod2.so: $(objpfx)nodlopenmod.so -$(objpfx)nodlopen2: $(libdl) $(objpfx)nodlopen2.out: $(objpfx)nodlopenmod2.so $(objpfx)filtmod1.so: $(objpfx)filtmod1.os $(objpfx)filtmod2.so @@ -954,31 +923,23 @@ $(objpfx)filter: $(objpfx)filtmod1.so # This does not link against libc. CFLAGS-filtmod1.c += $(no-stack-protector) -$(objpfx)unload: $(libdl) $(objpfx)unload.out: $(objpfx)unloadmod.so -$(objpfx)reldep: $(libdl) $(objpfx)reldep.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod2.so -$(objpfx)reldep2: $(libdl) $(objpfx)reldep2.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod3.so -$(objpfx)reldep3: $(libdl) $(objpfx)reldep3.out: $(objpfx)reldepmod1.so $(objpfx)reldepmod4.so -$(objpfx)reldep4: $(libdl) $(objpfx)reldep4.out: $(objpfx)reldep4mod1.so $(objpfx)reldep4mod2.so -$(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so $(libdl) +$(objpfx)next: $(objpfx)nextmod1.so $(objpfx)nextmod2.so LDFLAGS-next = -Wl,--no-as-needed -$(objpfx)unload2: $(libdl) $(objpfx)unload2.out: $(objpfx)unload2mod.so $(objpfx)unload2dep.so -$(objpfx)lateglobal: $(libdl) $(objpfx)lateglobal.out: $(objpfx)ltglobmod1.so $(objpfx)ltglobmod2.so -$(objpfx)tst-pathopt: $(libdl) $(objpfx)tst-pathopt.out: tst-pathopt.sh $(objpfx)tst-pathopt \ $(objpfx)pathoptobj.so $(SHELL) $< $(common-objpfx) '$(test-wrapper-env)' \ @@ -998,55 +959,40 @@ $(objpfx)tst-rtld-preload.out: tst-rtld-preload.sh $(objpfx)ld.so \ '$(rpath-link)' '$(tst-rtld-preload-OBJS)' > $@; \ $(evaluate-test) -$(objpfx)initfirst: $(libdl) $(objpfx)initfirst.out: $(objpfx)firstobj.so $(objpfx)global: $(objpfx)globalmod1.so $(objpfx)global.out: $(objpfx)reldepmod1.so -$(objpfx)dblload: $(libdl) $(objpfx)dblload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so -$(objpfx)dblunload: $(libdl) $(objpfx)dblunload.out: $(objpfx)dblloadmod1.so $(objpfx)dblloadmod2.so -$(objpfx)reldep5: $(libdl) $(objpfx)reldep5.out: $(objpfx)reldepmod5.so $(objpfx)reldepmod6.so -$(objpfx)reldep6: $(libdl) $(objpfx)reldep6.out: $(objpfx)reldep6mod3.so $(objpfx)reldep6mod4.so -$(objpfx)reldep7: $(libdl) $(objpfx)reldep7.out: $(objpfx)reldep7mod1.so $(objpfx)reldep7mod2.so -$(objpfx)reldep8: $(libdl) $(objpfx)reldep8.out: $(objpfx)reldep8mod3.so LDFLAGS-nodel2mod2.so = -Wl,--enable-new-dtags,-z,nodelete -$(objpfx)nodelete2: $(libdl) $(objpfx)nodelete2.out: $(objpfx)nodel2mod3.so -$(objpfx)reldep9: $(libdl) $(objpfx)reldep9.out: $(objpfx)reldep9mod3.so $(objpfx)tst-tls3: $(objpfx)tst-tlsmod1.so -$(objpfx)tst-tls4: $(libdl) $(objpfx)tst-tls4.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls5: $(libdl) $(objpfx)tst-tls5.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls6: $(libdl) $(objpfx)tst-tls6.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls7: $(libdl) $(objpfx)tst-tls7.out: $(objpfx)tst-tlsmod3.so -$(objpfx)tst-tls8: $(libdl) $(objpfx)tst-tls8.out: $(objpfx)tst-tlsmod3.so $(objpfx)tst-tlsmod4.so -$(objpfx)tst-tls9: $(libdl) $(objpfx)tst-tls9.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so $(objpfx)tst-tls10: $(objpfx)tst-tlsmod8.so $(objpfx)tst-tlsmod7.so @@ -1055,67 +1001,53 @@ $(objpfx)tst-tls11: $(objpfx)tst-tlsmod10.so $(objpfx)tst-tlsmod9.so $(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so $(objpfx)tst-tlsmod11.so -$(objpfx)tst-tls13: $(libdl) $(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so -$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) +$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(objpfx)tst-tls14.out: $(objpfx)tst-tlsmod14b.so -$(objpfx)tst-tls15: $(libdl) $(objpfx)tst-tls15.out: $(objpfx)tst-tlsmod15a.so $(objpfx)tst-tlsmod15b.so -$(objpfx)tst-tls-dlinfo: $(libdl) $(objpfx)tst-tls-dlinfo.out: $(objpfx)tst-tlsmod2.so -$(objpfx)tst-tls16: $(libdl) $(objpfx)tst-tls16.out: $(objpfx)tst-tlsmod16a.so $(objpfx)tst-tlsmod16b.so -$(objpfx)tst-tls17: $(libdl) $(objpfx)tst-tls17.out: $(objpfx)tst-tlsmod17b.so $(patsubst %,$(objpfx)%.os,$(tlsmod17a-modules)): $(objpfx)tst-tlsmod17a%.os: tst-tlsmod17a.c $(compile-command.c) -DN=$* $(patsubst %,$(objpfx)%.so,$(tlsmod17a-modules)): $(objpfx)tst-tlsmod17a%.so: $(objpfx)ld.so $(objpfx)tst-tlsmod17b.so: $(patsubst %,$(objpfx)%.so,$(tlsmod17a-modules)) -$(objpfx)tst-tls18: $(libdl) $(objpfx)tst-tls18.out: $(patsubst %,$(objpfx)%.so,$(tlsmod18a-modules)) $(patsubst %,$(objpfx)%.os,$(tlsmod18a-modules)): $(objpfx)tst-tlsmod18a%.os : tst-tlsmod18a.c $(compile-command.c) -DN=$* $(patsubst %,$(objpfx)%.so,$(tlsmod18a-modules)): $(objpfx)tst-tlsmod18a%.so: $(objpfx)ld.so -$(objpfx)tst-tls19: $(libdl) $(objpfx)tst-tls19.out: $(objpfx)tst-tls19mod1.so CFLAGS-tst-align.c += $(stack-align-test-flags) CFLAGS-tst-align2.c += $(stack-align-test-flags) CFLAGS-tst-alignmod.c += $(stack-align-test-flags) CFLAGS-tst-alignmod2.c += $(stack-align-test-flags) -$(objpfx)tst-align: $(libdl) $(objpfx)tst-align.out: $(objpfx)tst-alignmod.so $(objpfx)tst-align2: $(objpfx)tst-alignmod2.so -$(objpfx)unload3: $(libdl) $(objpfx)unload3.out: $(objpfx)unload3mod1.so $(objpfx)unload3mod2.so \ $(objpfx)unload3mod3.so $(objpfx)unload3mod4.so -$(objpfx)unload4: $(libdl) $(objpfx)unload4.out: $(objpfx)unload4mod1.so $(objpfx)unload4mod3.so -$(objpfx)unload5: $(libdl) $(objpfx)unload5.out: $(objpfx)unload3mod1.so $(objpfx)unload3mod2.so \ $(objpfx)unload3mod3.so $(objpfx)unload3mod4.so -$(objpfx)unload6: $(libdl) $(objpfx)unload6.out: $(objpfx)unload6mod1.so $(objpfx)unload6mod2.so \ $(objpfx)unload6mod3.so -$(objpfx)unload7: $(libdl) $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so unload7-ENV = MALLOC_PERTURB_=85 -$(objpfx)unload8: $(libdl) $(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so ifdef libdl @@ -1124,7 +1056,6 @@ $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so endif ifeq ($(have-z-execstack),yes) -$(objpfx)tst-execstack: $(libdl) $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so CPPFLAGS-tst-execstack.c += -DUSE_PTHREADS=0 LDFLAGS-tst-execstack = -Wl,-z,noexecstack @@ -1159,7 +1090,6 @@ $(objpfx)tst-array3-cmp.out: tst-array1.exp $(objpfx)tst-array3.out cmp $^ > $@; \ $(evaluate-test) -$(objpfx)tst-array4: $(libdl) $(objpfx)tst-array4.out: $(objpfx)tst-array2dep.so $(objpfx)tst-array4-cmp.out: tst-array4.exp $(objpfx)tst-array4.out cmp $^ > $@; \ @@ -1180,7 +1110,6 @@ CFLAGS-tst-pie2.c += $(pie-ccflag) $(objpfx)tst-piemod1.so: $(libsupport) $(objpfx)tst-pie1: $(objpfx)tst-piemod1.so -$(objpfx)tst-dlopen-pie: $(libdl) $(objpfx)tst-dlopen-pie.out: $(objpfx)tst-pie1 ifeq (yes,$(build-shared)) @@ -1239,7 +1168,6 @@ $(objpfx)check-wx-segment.out: $(..)scripts/check-wx-segment.py \ $(evaluate-test) generated += check-wx-segment.out -$(objpfx)tst-dlmodcount: $(libdl) $(objpfx)tst-dlmodcount.out: $(test-modules) $(all-built-dso:=.jmprel): %.jmprel: % Makefile @@ -1292,38 +1220,31 @@ $(objpfx)check-initfini.out: $(..)scripts/check-initfini.awk \ $(evaluate-test) generated += check-initfini.out -$(objpfx)tst-dlopenrpathmod.so: $(libdl) -$(objpfx)tst-dlopenrpath: $(objpfx)tst-dlopenrpathmod.so $(libdl) +$(objpfx)tst-dlopenrpath: $(objpfx)tst-dlopenrpathmod.so CFLAGS-tst-dlopenrpath.c += -DPFX=\"$(objpfx)\" LDFLAGS-tst-dlopenrpathmod.so += -Wl,-rpath,\$$ORIGIN/test-subdir $(objpfx)tst-dlopenrpath.out: $(objpfx)firstobj.so $(objpfx)tst-deep1mod2.so: $(objpfx)tst-deep1mod3.so -$(objpfx)tst-deep1: $(libdl) $(objpfx)tst-deep1mod1.so +$(objpfx)tst-deep1: $(objpfx)tst-deep1mod1.so $(objpfx)tst-deep1.out: $(objpfx)tst-deep1mod2.so LDFLAGS-tst-deep1 += -rdynamic tst-deep1mod3.so-no-z-defs = yes -$(objpfx)tst-dlmopen1mod.so: $(libdl) -$(objpfx)tst-dlmopen1: $(libdl) $(objpfx)tst-dlmopen1.out: $(objpfx)tst-dlmopen1mod.so -$(objpfx)tst-dlmopen2: $(libdl) $(objpfx)tst-dlmopen2.out: $(objpfx)tst-dlmopen1mod.so -$(objpfx)tst-dlmopen3: $(libdl) $(objpfx)tst-dlmopen3.out: $(objpfx)tst-dlmopen1mod.so $(objpfx)tst-audit1.out: $(objpfx)tst-auditmod1.so tst-audit1-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -$(objpfx)tst-audit2: $(libdl) $(objpfx)tst-audit2.out: $(objpfx)tst-auditmod1.so $(objpfx)tst-auditmod9b.so # Prevent GCC-5 from translating a malloc/memset pair into calloc CFLAGS-tst-audit2.c += -fno-builtin tst-audit2-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -$(objpfx)tst-audit9: $(libdl) $(objpfx)tst-audit9.out: $(objpfx)tst-auditmod9a.so $(objpfx)tst-auditmod9b.so tst-audit9-ENV = LD_AUDIT=$(objpfx)tst-auditmod9a.so @@ -1331,10 +1252,8 @@ $(objpfx)tst-audit8: $(libm) $(objpfx)tst-audit8.out: $(objpfx)tst-auditmod1.so tst-audit8-ENV = LD_AUDIT=$(objpfx)tst-auditmod1.so -$(objpfx)tst-global1: $(libdl) $(objpfx)tst-global1.out: $(objpfx)testobj6.so $(objpfx)testobj2.so -$(objpfx)order2: $(libdl) $(objpfx)order2.out: $(objpfx)order2mod1.so $(objpfx)order2mod2.so $(objpfx)order2-cmp.out: $(objpfx)order2.out (echo "12345" | cmp $< -) > $@; \ @@ -1355,7 +1274,6 @@ tst-ptrguard1-ARGS = --command "$(host-test-program-cmd) --child" CFLAGS-tst-ptrguard1-static.c += -DPTRGUARD_LOCAL tst-ptrguard1-static-ARGS = --command "$(objpfx)tst-ptrguard1-static --child" -$(objpfx)tst-leaks1: $(libdl) $(objpfx)tst-leaks1-mem.out: $(objpfx)tst-leaks1.out $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@; \ $(evaluate-test) @@ -1368,24 +1286,19 @@ $(objpfx)tst-leaks1-static-mem.out: $(objpfx)tst-leaks1-static.out tst-leaks1-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1.mtrace tst-leaks1-static-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1-static.mtrace -$(objpfx)tst-addr1: $(libdl) - -$(objpfx)tst-thrlock: $(libdl) $(shared-thread-library) +$(objpfx)tst-thrlock: $(shared-thread-library) tst-tst-dlopen-tlsmodid-no-pie = yes -$(objpfx)tst-dlopen-tlsmodid: $(libdl) $(shared-thread-library) +$(objpfx)tst-dlopen-tlsmodid: $(shared-thread-library) $(objpfx)tst-dlopen-tlsmodid.out: $(objpfx)tst-dlopen-self CFLAGS-tst-dlopen-tlsmodid-pie.c += $(pie-ccflag) -$(objpfx)tst-dlopen-tlsmodid-pie: $(libdl) $(shared-thread-library) +$(objpfx)tst-dlopen-tlsmodid-pie: $(shared-thread-library) $(objpfx)tst-dlopen-tlsmodid-pie.out: $(objpfx)tst-dlopen-self-pie -$(objpfx)tst-dlopen-tlsmodid-container: $(libdl) $(shared-thread-library) +$(objpfx)tst-dlopen-tlsmodid-container: $(shared-thread-library) LDFLAGS-tst-dlopen-tlsmodid-container += -Wl,-rpath,\$$ORIGIN tst-tst-dlopen-self-no-pie = yes -$(objpfx)tst-dlopen-self: $(libdl) CFLAGS-tst-dlopen-self-pie.c += $(pie-ccflag) -$(objpfx)tst-dlopen-self-pie: $(libdl) -$(objpfx)tst-dlopen-self-container: $(libdl) LDFLAGS-tst-dlopen-self-container += -Wl,-rpath,\$$ORIGIN CFLAGS-ifuncmain1pic.c += $(pic-ccflag) @@ -1437,7 +1350,6 @@ $(objpfx)ifuncmain2pic: $(addprefix $(objpfx),ifuncdep2pic.o) $(objpfx)ifuncmain2static: $(addprefix $(objpfx),ifuncdep2.o) $(objpfx)ifuncmain2picstatic: $(addprefix $(objpfx),ifuncdep2pic.o) -$(objpfx)ifuncmain3: $(libdl) $(objpfx)ifuncmain3.out: $(objpfx)ifuncmod3.so $(objpfx)ifuncmain5: $(addprefix $(objpfx),ifuncmod5.so) @@ -1461,19 +1373,17 @@ $(objpfx)tst-ifunc-fault-bindnow.out: $(objpfx)tst-ifunc-fault-bindnow \ $(objpfx)ld.so $(tst-ifunc-fault-script) -$(objpfx)tst-unique1: $(libdl) $(objpfx)tst-unique1.out: $(objpfx)tst-unique1mod1.so \ $(objpfx)tst-unique1mod2.so -$(objpfx)tst-unique2: $(libdl) $(objpfx)tst-unique2mod1.so +$(objpfx)tst-unique2: $(objpfx)tst-unique2mod1.so $(objpfx)tst-unique2.out: $(objpfx)tst-unique2mod2.so -$(objpfx)tst-unique3: $(libdl) $(objpfx)tst-unique3lib.so +$(objpfx)tst-unique3: $(objpfx)tst-unique3lib.so $(objpfx)tst-unique3.out: $(objpfx)tst-unique3lib2.so $(objpfx)tst-unique4: $(objpfx)tst-unique4lib.so -$(objpfx)tst-nodelete: $(libdl) $(objpfx)tst-nodelete.out: $(objpfx)tst-nodelete-uniquemod.so \ $(objpfx)tst-nodelete-rtldmod.so \ $(objpfx)tst-nodelete-zmod.so @@ -1481,7 +1391,6 @@ $(objpfx)tst-nodelete.out: $(objpfx)tst-nodelete-uniquemod.so \ LDFLAGS-tst-nodelete = -rdynamic LDFLAGS-tst-nodelete-zmod.so = -Wl,--enable-new-dtags,-z,nodelete -$(objpfx)tst-nodelete2: $(libdl) $(objpfx)tst-nodelete2.out: $(objpfx)tst-nodelete2mod.so LDFLAGS-tst-nodelete2 = -rdynamic @@ -1509,7 +1418,6 @@ $(objpfx)tst-initorder2-cmp.out: tst-initorder2.exp $(objpfx)tst-initorder2.out cmp $^ > $@; \ $(evaluate-test) -$(objpfx)tst-relsort1: $(libdl) $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so $(objpfx)tst-relsort1mod2.so: $(libm) $(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \ @@ -1529,13 +1437,11 @@ $(objpfx)tst-unused-dep-cmp.out: $(objpfx)tst-unused-dep.out $(evaluate-test) $(objpfx)tst-audit11.out: $(objpfx)tst-auditmod11.so $(objpfx)tst-audit11mod1.so -$(objpfx)tst-audit11: $(libdl) tst-audit11-ENV = LD_AUDIT=$(objpfx)tst-auditmod11.so $(objpfx)tst-audit11mod1.so: $(objpfx)tst-audit11mod2.so LDFLAGS-tst-audit11mod2.so = -Wl,--version-script=tst-audit11mod2.map,-soname,tst-audit11mod2.so $(objpfx)tst-audit12.out: $(objpfx)tst-auditmod12.so $(objpfx)tst-audit12mod1.so $(objpfx)tst-audit12mod3.so -$(objpfx)tst-audit12: $(libdl) tst-audit12-ENV = LD_AUDIT=$(objpfx)tst-auditmod12.so $(objpfx)tst-audit12mod1.so: $(objpfx)tst-audit12mod2.so LDFLAGS-tst-audit12mod2.so = -Wl,--version-script=tst-audit12mod2.map @@ -1585,13 +1491,11 @@ $(objpfx)tst-sonamemove-link: $(objpfx)tst-sonamemove-linkmod1.so $(objpfx)tst-sonamemove-link.out: \ $(objpfx)tst-sonamemove-runmod1.so \ $(objpfx)tst-sonamemove-runmod2.so -$(objpfx)tst-sonamemove-dlopen: $(libdl) $(objpfx)tst-sonamemove-dlopen.out: \ $(objpfx)tst-sonamemove-runmod1.so \ $(objpfx)tst-sonamemove-runmod2.so -$(objpfx)tst-dlmopen-dlerror: $(libdl) -$(objpfx)tst-dlmopen-dlerror-mod.so: $(libdl) $(libsupport) +$(objpfx)tst-dlmopen-dlerror-mod.so: $(libsupport) $(objpfx)tst-dlmopen-dlerror.out: $(objpfx)tst-dlmopen-dlerror-mod.so # Override -z defs, so that we can reference an undefined symbol. @@ -1602,7 +1506,6 @@ LDFLAGS-tst-latepthreadmod.so = \ # function this_function_is_not_defined. CFLAGS-tst-latepthreadmod.c += -fno-optimize-sibling-calls $(objpfx)tst-latepthreadmod.so: $(shared-thread-library) -$(objpfx)tst-latepthread: $(libdl) $(objpfx)tst-latepthread.out: $(objpfx)tst-latepthreadmod.so # The test modules are parameterized by preprocessor macros. @@ -1610,7 +1513,7 @@ $(patsubst %,$(objpfx)%.os,$(tst-tls-many-dynamic-modules)): \ $(objpfx)tst-tls-manydynamic%mod.os : tst-tls-manydynamicmod.c $(compile-command.c) \ -DNAME=tls_global_$* -DSETTER=set_value_$* -DGETTER=get_value_$* -$(objpfx)tst-tls-manydynamic: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls-manydynamic: $(shared-thread-library) $(objpfx)tst-tls-manydynamic.out: \ $(patsubst %,$(objpfx)%.so,$(tst-tls-many-dynamic-modules)) @@ -1626,8 +1529,6 @@ $(objpfx)tst-ldconfig-X.out : tst-ldconfig-X.sh $(objpfx)ldconfig '$(run-program-env)' > $@; \ $(evaluate-test) -$(objpfx)tst-dlsym-error: $(libdl) - # Test static linking of all the libraries we can possibly link # together. Note that in some configurations this may be less than the # complete list of libraries we build but we try to maxmimize this list. @@ -1661,7 +1562,6 @@ endif # The application depends on the DSO, and the DSO loads the plugin. # The plugin also depends on the DSO. This creates the circular # dependency via dlopen that we're testing to make sure works. -$(objpfx)tst-nodelete-dlclose-dso.so: $(libdl) $(objpfx)tst-nodelete-dlclose-plugin.so: $(objpfx)tst-nodelete-dlclose-dso.so $(objpfx)tst-nodelete-dlclose: $(objpfx)tst-nodelete-dlclose-dso.so $(objpfx)tst-nodelete-dlclose.out: $(objpfx)tst-nodelete-dlclose-dso.so \ @@ -1670,7 +1570,6 @@ $(objpfx)tst-nodelete-dlclose.out: $(objpfx)tst-nodelete-dlclose-dso.so \ tst-env-setuid-ENV = MALLOC_CHECK_=2 MALLOC_MMAP_THRESHOLD_=4096 \ LD_HWCAP_MASK=0x1 -$(objpfx)tst-debug1: $(libdl) $(objpfx)tst-debug1.out: $(objpfx)tst-debug1mod1.so $(objpfx)tst-debug1mod1.so: $(objpfx)testobj1.so @@ -1692,8 +1591,7 @@ $(objpfx)tst-absolute-zero: $(objpfx)tst-absolute-zero-lib.so # Both the main program and the DSO for tst-libc_dlvsym need to link # against libdl. -$(objpfx)tst-libc_dlvsym: $(libdl) -$(objpfx)tst-libc_dlvsym-dso.so: $(libsupport) $(libdl) +$(objpfx)tst-libc_dlvsym-dso.so: $(libsupport) $(objpfx)tst-libc_dlvsym.out: $(objpfx)tst-libc_dlvsym-dso.so $(objpfx)tst-libc_dlvsym-static: $(common-objpfx)dlfcn/libdl.a tst-libc_dlvsym-static-ENV = \ @@ -1711,7 +1609,6 @@ $(objpfx)tst-unwind-ctor: $(objpfx)tst-unwind-ctor-lib.so CFLAGS-tst-unwind-main.c += -funwind-tables -DUSE_PTHREADS=0 -$(objpfx)tst-initfinilazyfail: $(libdl) $(objpfx)tst-initfinilazyfail.out: \ $(objpfx)tst-initlazyfailmod.so $(objpfx)tst-finilazyfailmod.so # Override -z defs, so that we can reference an undefined symbol. @@ -1721,7 +1618,6 @@ LDFLAGS-tst-initlazyfailmod.so = \ LDFLAGS-tst-finilazyfailmod.so = \ -Wl,-z,lazy -Wl,--unresolved-symbols=ignore-all -$(objpfx)tst-dlopenfail: $(libdl) $(objpfx)tst-dlopenfail.out: \ $(objpfx)tst-dlopenfailmod1.so $(objpfx)tst-dlopenfailmod2.so # Order matters here. tst-dlopenfaillinkmod.so's soname ensures a @@ -1733,7 +1629,6 @@ $(objpfx)tst-dlopenfailmod1.so: \ $(shared-thread-library) $(objpfx)tst-dlopenfaillinkmod.so LDFLAGS-tst-dlopenfaillinkmod.so = -Wl,-soname,tst-dlopenfail-missingmod.so $(objpfx)tst-dlopenfailmod2.so: $(objpfx)tst-dlopenfailnodelmod.so -$(objpfx)tst-dlopenfail-2: $(libdl) $(objpfx)tst-dlopenfail-2.out: \ $(objpfx)tst-dlopenfailmod1.so $(objpfx)tst-dlopenfailmod2.so \ $(objpfx)tst-dlopenfailmod3.so @@ -1745,7 +1640,6 @@ LDFLAGS-tst-dlopenfailnodelmod.so = \ # tst-dlopenfailnodelmod.so uses them for error reporting. LDFLAGS-tst-dlopenfail = -Wl,-E -$(objpfx)tst-dlopen-nodelete-reloc: $(libdl) $(objpfx)tst-dlopen-nodelete-reloc.out: \ $(objpfx)tst-dlopen-nodelete-reloc-mod1.so \ $(objpfx)tst-dlopen-nodelete-reloc-mod2.so \ @@ -1774,8 +1668,6 @@ $(objpfx)tst-dlopen-nodelete-reloc-mod5.so: \ LDFLAGS-tst-dlopen-nodelete-reloc-mod5.so = -Wl,-z,nodelete,--no-as-needed tst-dlopen-nodelete-reloc-mod5.so-no-z-defs = yes tst-dlopen-nodelete-reloc-mod7.so-no-z-defs = yes -$(objpfx)tst-dlopen-nodelete-reloc-mod8.so: $(libdl) -$(objpfx)tst-dlopen-nodelete-reloc-mod10.so: $(libdl) tst-dlopen-nodelete-reloc-mod11.so-no-z-defs = yes $(objpfx)tst-dlopen-nodelete-reloc-mod13.so: \ $(objpfx)tst-dlopen-nodelete-reloc-mod12.so @@ -1791,21 +1683,18 @@ $(objpfx)tst-dlopen-nodelete-reloc-mod17.so: \ LDFLAGS-tst-dlopen-nodelete-reloc-mod17.so = -Wl,--no-as-needed $(objpfx)tst-ldconfig-ld_so_conf-update.out: $(objpfx)tst-ldconfig-ld-mod.so -$(objpfx)tst-ldconfig-ld_so_conf-update: $(libdl) LDFLAGS-tst-filterobj-flt.so = -Wl,--filter=$(objpfx)tst-filterobj-filtee.so $(objpfx)tst-filterobj: $(objpfx)tst-filterobj-flt.so -$(objpfx)tst-filterobj-dlopen: $(libdl) $(objpfx)tst-filterobj.out: $(objpfx)tst-filterobj-filtee.so $(objpfx)tst-filterobj-dlopen.out: $(objpfx)tst-filterobj-filtee.so LDFLAGS-tst-filterobj-aux.so = -Wl,--auxiliary=$(objpfx)tst-filterobj-filtee.so $(objpfx)tst-auxobj: $(objpfx)tst-filterobj-aux.so -$(objpfx)tst-auxobj-dlopen: $(libdl) $(objpfx)tst-auxobj.out: $(objpfx)tst-filterobj-filtee.so $(objpfx)tst-auxobj-dlopen.out: $(objpfx)tst-filterobj-filtee.so -$(objpfx)tst-single_threaded: $(objpfx)tst-single_threaded-mod1.so $(libdl) +$(objpfx)tst-single_threaded: $(objpfx)tst-single_threaded-mod1.so $(objpfx)tst-single_threaded.out: \ $(objpfx)tst-single_threaded-mod2.so $(objpfx)tst-single_threaded-mod3.so $(objpfx)tst-single_threaded-static-dlopen: \ @@ -1813,13 +1702,13 @@ $(objpfx)tst-single_threaded-static-dlopen: \ $(objpfx)tst-single_threaded-static-dlopen.out: \ $(objpfx)tst-single_threaded-mod2.so $(objpfx)tst-single_threaded-pthread: \ - $(objpfx)tst-single_threaded-mod1.so $(libdl) $(shared-thread-library) + $(objpfx)tst-single_threaded-mod1.so $(shared-thread-library) $(objpfx)tst-single_threaded-pthread.out: \ $(objpfx)tst-single_threaded-mod2.so $(objpfx)tst-single_threaded-mod3.so \ $(objpfx)tst-single_threaded-mod4.so $(objpfx)tst-single_threaded-pthread-static: $(static-thread-library) -$(objpfx)tst-tls-ie: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls-ie: $(shared-thread-library) $(objpfx)tst-tls-ie.out: \ $(objpfx)tst-tls-ie-mod0.so \ $(objpfx)tst-tls-ie-mod1.so \ @@ -1829,7 +1718,7 @@ $(objpfx)tst-tls-ie.out: \ $(objpfx)tst-tls-ie-mod5.so \ $(objpfx)tst-tls-ie-mod6.so -$(objpfx)tst-tls-ie-dlmopen: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls-ie-dlmopen: $(shared-thread-library) $(objpfx)tst-tls-ie-dlmopen.out: \ $(objpfx)tst-tls-ie-mod0.so \ $(objpfx)tst-tls-ie-mod1.so \ @@ -1839,8 +1728,6 @@ $(objpfx)tst-tls-ie-dlmopen.out: \ $(objpfx)tst-tls-ie-mod5.so \ $(objpfx)tst-tls-ie-mod6.so -$(objpfx)tst-tls-surplus: $(libdl) - $(objpfx)argv0test.out: tst-rtld-argv0.sh $(objpfx)ld.so \ $(objpfx)argv0test $(SHELL) $< $(objpfx)ld.so $(objpfx)argv0test \ @@ -1896,7 +1783,6 @@ $(objpfx)tst-glibc-hwcaps-prepend.out: \ # Like tst-glibc-hwcaps-prepend, but uses a container and loads the # library via ld.so.cache. Test setup is contained in the test # itself. -$(objpfx)tst-glibc-hwcaps-prepend-cache: $(libdl) $(objpfx)tst-glibc-hwcaps-prepend-cache.out: \ $(objpfx)tst-glibc-hwcaps-prepend-cache $(objpfx)libmarkermod1-1.so \ $(objpfx)libmarkermod1-2.so $(objpfx)libmarkermod1-3.so @@ -1941,12 +1827,12 @@ $(objpfx)tst-rtld-help.out: $(objpfx)ld.so # Reuses tst-tls-many-dynamic-modules tst-tls20mod-bad.so-no-z-defs = yes -$(objpfx)tst-tls20: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls20: $(shared-thread-library) $(objpfx)tst-tls20.out: $(objpfx)tst-tls20mod-bad.so \ $(tst-tls-many-dynamic-modules:%=$(objpfx)%.so) # Reuses tst-tls-many-dynamic-modules -$(objpfx)tst-tls21: $(libdl) $(shared-thread-library) +$(objpfx)tst-tls21: $(shared-thread-library) $(objpfx)tst-tls21.out: $(objpfx)tst-tls21mod.so $(objpfx)tst-tls21mod.so: $(tst-tls-many-dynamic-modules:%=$(objpfx)%.so) diff --git a/htl/Makefile b/htl/Makefile index 4c5767b04c..8c5ad3c5de 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -215,7 +215,6 @@ $(addprefix $(objpfx), \ $(tests-nolibpthread), \ $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \ $(objpfx)libpthread.so -$(objpfx)tst-unload: $(libdl) # $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so, # since otherwise libpthread.so comes before libc.so when linking. $(addprefix $(objpfx), $(tests-reverse)): \ diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 55c527a5f7..6eeb92f4b3 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -307,7 +307,6 @@ $(objpfx)bug-iconv1.out: $(objpfx)gconv-modules \ $(addprefix $(objpfx),$(modules.so)) $(objpfx)bug-iconv2.out: $(objpfx)gconv-modules \ $(addprefix $(objpfx),$(modules.so)) -$(objpfx)bug-iconv3: $(libdl) $(objpfx)bug-iconv3.out: $(objpfx)gconv-modules \ $(addprefix $(objpfx),$(modules.so)) $(objpfx)bug-iconv5.out: $(objpfx)gconv-modules \ diff --git a/include/dlfcn.h b/include/dlfcn.h index 4274eddbc9..711bbb0f12 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -19,16 +19,6 @@ extern int __libc_argc attribute_hidden; extern char **__libc_argv attribute_hidden; -#ifdef SHARED -/* Locally stored program arguments. */ -extern int __dlfcn_argc attribute_hidden; -extern char **__dlfcn_argv attribute_hidden; -#else -# define __dlfcn_argc __libc_argc -# define __dlfcn_argv __libc_argv -#endif - - /* Now define the internal interfaces. */ /* Use RTLD_NOW here because: @@ -101,14 +91,6 @@ libc_hidden_proto (_dl_vsym) extern int _dlerror_run (void (*operate) (void *), void *args); libc_hidden_proto (_dlerror_run) -#ifdef SHARED -# define DL_CALLER_DECL /* Nothing */ -# define DL_CALLER RETURN_ADDRESS (0) -#else -# define DL_CALLER_DECL , void *dl_caller -# define DL_CALLER dl_caller -#endif - struct dlfcn_hook { void *(*dlopen) (const char *file, int mode, void *dl_caller); diff --git a/malloc/Makefile b/malloc/Makefile index 857e2ebbd9..149dc7471f 100644 --- a/malloc/Makefile +++ b/malloc/Makefile @@ -244,9 +244,6 @@ $(objpfx)memusage: memusage.sh && rm -f $@ && mv $@.new $@ && chmod +x $@ -# The implementation uses `dlsym' -$(objpfx)libmemusage.so: $(libdl) - # Extra dependencies $(foreach o,$(all-object-suffixes),$(objpfx)malloc$(o)): arena.c hooks.c diff --git a/misc/Makefile b/misc/Makefile index 38dad737f2..c103b6bff4 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -158,5 +158,3 @@ tst-allocate_once-ENV = MALLOC_TRACE=$(objpfx)tst-allocate_once.mtrace $(objpfx)tst-allocate_once-mem.out: $(objpfx)tst-allocate_once.out $(common-objpfx)malloc/mtrace $(objpfx)tst-allocate_once.mtrace > $@; \ $(evaluate-test) - -$(objpfx)tst-gethostid: $(libdl) diff --git a/nptl/Makefile b/nptl/Makefile index 9a5628b751..f7d7a2c7e2 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -497,7 +497,6 @@ $(objpfx)tst-stack3-mem.out: $(objpfx)tst-stack3.out $(evaluate-test) generated += tst-stack3-mem.out tst-stack3.mtrace -$(objpfx)tst-stack4: $(libdl) tst-stack4mod.sos=$(shell for i in 0 1 2 3 4 5 6 7 8 9 10 \ 11 12 13 14 15 16 17 18 19; do \ for j in 0 1 2 3 4 5 6 7 8 9 10 \ @@ -513,11 +512,9 @@ clean: $(objpfx)tst-cleanup4: $(objpfx)tst-cleanup4aux.o $(objpfx)tst-cleanupx4: $(objpfx)tst-cleanupx4aux.o -$(objpfx)tst-tls3: $(libdl) LDFLAGS-tst-tls3 = -rdynamic $(objpfx)tst-tls3.out: $(objpfx)tst-tls3mod.so -$(objpfx)tst-tls3-malloc: $(libdl) LDFLAGS-tst-tls3-malloc = -rdynamic $(objpfx)tst-tls3-malloc.out: $(objpfx)tst-tls3mod.so @@ -535,8 +532,6 @@ $(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \ $(evaluate-test) endif -$(objpfx)tst-dlsym1: $(libdl) - ifeq (yes,$(build-shared)) librt = $(common-objpfx)rt/librt.so else @@ -550,14 +545,12 @@ LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++ LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24) ifeq ($(build-shared),yes) -$(objpfx)tst-unload: $(libdl) generated += multidir.mk tst-tls6.out endif tst-exec4-ARGS = $(host-test-program-cmd) -$(objpfx)tst-execstack: $(libdl) $(objpfx)tst-execstack.out: $(objpfx)tst-execstack-mod.so LDFLAGS-tst-execstack = -Wl,-z,noexecstack CFLAGS-tst-execstack-mod.c += -Wno-trampolines diff --git a/nss/Makefile b/nss/Makefile index 71fbe583bf..9682a31e20 100644 --- a/nss/Makefile +++ b/nss/Makefile @@ -181,10 +181,5 @@ ifeq (yes,$(have-thread-library)) $(objpfx)tst-cancel-getpwuid_r: $(shared-thread-library) endif -$(objpfx)tst-nss-files-hosts-erange: $(libdl) -$(objpfx)tst-nss-files-hosts-multi: $(libdl) -$(objpfx)tst-nss-files-hosts-getent: $(libdl) -$(objpfx)tst-nss-files-alias-leak: $(libdl) $(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so -$(objpfx)tst-nss-files-alias-truncated: $(libdl) $(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so diff --git a/resolv/Makefile b/resolv/Makefile index fb19c93026..3fbc320ee1 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -149,7 +149,7 @@ $(objpfx)libnss_dns.so: $(objpfx)libresolv.so # The asynchronous name lookup code needs the thread library. $(objpfx)libanl.so: $(shared-thread-library) -$(objpfx)tst-res_hconf_reorder: $(libdl) $(shared-thread-library) +$(objpfx)tst-res_hconf_reorder: $(shared-thread-library) tst-res_hconf_reorder-ENV = RESOLV_REORDER=on $(objpfx)tst-leaks: $(objpfx)libresolv.so @@ -173,12 +173,11 @@ $(objpfx)mtrace-tst-resolv-res_ninit.out: $(objpfx)tst-resolv-res_ninit.out $(objpfx)tst-bug18665-tcp: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-bug18665: $(objpfx)libresolv.so $(shared-thread-library) -$(objpfx)tst-resolv-ai_idn: \ - $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-ai_idn: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-ai_idn-latin1: \ - $(libdl) $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-ai_idn-nolibidn2: \ - $(libdl) $(objpfx)libresolv.so $(shared-thread-library) + $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-ai_idn.out: $(gen-locales) $(objpfx)tst-resolv-ai_idn-latin1.out: $(gen-locales) $(objpfx)tst-resolv-ai_idn-nolibidn2.out: \ @@ -187,22 +186,20 @@ $(objpfx)tst-resolv-basic: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-binary: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-edns: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-network: $(objpfx)libresolv.so $(shared-thread-library) -$(objpfx)tst-resolv-res_init: $(libdl) $(objpfx)libresolv.so +$(objpfx)tst-resolv-res_init: $(objpfx)libresolv.so $(objpfx)tst-resolv-res_init-multi: $(objpfx)libresolv.so \ $(shared-thread-library) -$(objpfx)tst-resolv-res_init-thread: $(libdl) $(objpfx)libresolv.so \ +$(objpfx)tst-resolv-res_init-thread: $(objpfx)libresolv.so \ $(shared-thread-library) $(objpfx)tst-resolv-nondecimal: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-qtypes: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-rotate: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-search: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-trailing: $(objpfx)libresolv.so $(shared-thread-library) -$(objpfx)tst-resolv-threads: \ - $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-threads: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-txnid-collision: $(objpfx)libresolv.a \ $(static-thread-library) -$(objpfx)tst-resolv-canonname: \ - $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-canonname: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-trustad: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-ns_name: $(objpfx)libresolv.so diff --git a/stdlib/Makefile b/stdlib/Makefile index ec30011b4c..7c15549caf 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -106,7 +106,7 @@ LDLIBS-test-cxa_atexit-race2 = $(shared-thread-library) LDLIBS-test-on_exit-race = $(shared-thread-library) LDLIBS-tst-canon-bz26341 = $(shared-thread-library) -LDLIBS-test-dlclose-exit-race = $(shared-thread-library) $(libdl) +LDLIBS-test-dlclose-exit-race = $(shared-thread-library) LDFLAGS-test-dlclose-exit-race = $(LDFLAGS-rdynamic) LDLIBS-test-dlclose-exit-race-helper.so = $(libsupport) $(shared-thread-library) @@ -233,10 +233,10 @@ $(objpfx)tst-strtod-nan-sign: $(libm) tst-tls-atexit-lib.so-no-z-defs = yes test-dlclose-exit-race-helper.so-no-z-defs = yes -$(objpfx)tst-tls-atexit: $(shared-thread-library) $(libdl) +$(objpfx)tst-tls-atexit: $(shared-thread-library) $(objpfx)tst-tls-atexit.out: $(objpfx)tst-tls-atexit-lib.so -$(objpfx)tst-tls-atexit-nodelete: $(shared-thread-library) $(libdl) +$(objpfx)tst-tls-atexit-nodelete: $(shared-thread-library) $(objpfx)tst-tls-atexit-nodelete.out: $(objpfx)tst-tls-atexit-lib.so $(objpfx)tst-setcontext3.out: tst-setcontext3.sh $(objpfx)tst-setcontext3 @@ -244,5 +244,3 @@ $(objpfx)tst-setcontext3.out: tst-setcontext3.sh $(objpfx)tst-setcontext3 '$(run-program-env)' '$(test-program-prefix-after-env)' \ $(common-objpfx)stdlib/; \ $(evaluate-test) - -$(objpfx)tst-makecontext: $(libdl) diff --git a/string/Makefile b/string/Makefile index d17626ed39..f0fce2a0b8 100644 --- a/string/Makefile +++ b/string/Makefile @@ -80,7 +80,6 @@ xtests = tst-strcoll-overflow # This test needs libdl. ifeq (yes,$(build-shared)) tests += test-strerror-errno -LDLIBS-test-strerror-errno = $(libdl) endif ifeq ($(run-built-tests),yes) diff --git a/sysdeps/mips/Makefile b/sysdeps/mips/Makefile index 150518bc6d..d770e59fc9 100644 --- a/sysdeps/mips/Makefile +++ b/sysdeps/mips/Makefile @@ -64,7 +64,6 @@ fpabi_list=$(subst $(space),$(comma),$(patsubst tst-abi-%mod,o_%,\ CPPFLAGS-tst-abi-interlink.c += -DFPABI_LIST=$(fpabi_list) CPPFLAGS-tst-abi-interlink.c += -DFPABI_COUNT=$(words $(fpabi-modules-names)) CPPFLAGS-tst-abi-interlink.c += -DFPABI_NATIVE=o_fp$(o32-fpabi) -$(objpfx)tst-abi-interlink: $(libdl) $(objpfx)tst-abi-interlink.out: $(patsubst %,$(objpfx)%.so,\ $(fpabi-modules-names)) endif diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile index bca642f438..e4690a7bc4 100644 --- a/sysdeps/pthread/Makefile +++ b/sysdeps/pthread/Makefile @@ -203,7 +203,7 @@ CFLAGS-tst-pt-align3.c += $(stack-align-test-flags) tst-umask1-ARGS = $(objpfx)tst-umask1.temp -$(objpfx)tst-atfork2: $(libdl) $(shared-thread-library) +$(objpfx)tst-atfork2: $(shared-thread-library) LDFLAGS-tst-atfork2 = -rdynamic tst-atfork2-ENV = MALLOC_TRACE=$(objpfx)tst-atfork2.mtrace $(objpfx)tst-atfork2mod.so: $(shared-thread-library) @@ -236,7 +236,7 @@ LDFLAGS-tst-_res1mod2.so = -Wl,-soname,tst-_res1mod2.so $(objpfx)tst-_res1: $(objpfx)tst-_res1mod1.so $(objpfx)tst-_res1mod2.so \ $(shared-thread-library) -$(objpfx)tst-pt-tls4: $(libdl) $(shared-thread-library) +$(objpfx)tst-pt-tls4: $(shared-thread-library) $(objpfx)tst-pt-tls4.out: $(objpfx)tst-tls4moda.so $(objpfx)tst-tls4modb.so generated += tst-atfork2.mtrace @@ -260,7 +260,7 @@ CFLAGS-tst-oncex4.c += -fexceptions CFLAGS-tst-oncey3.c += -fno-exceptions -fno-asynchronous-unwind-tables CFLAGS-tst-oncey4.c += -fno-exceptions -fno-asynchronous-unwind-tables -$(objpfx)tst-join7: $(libdl) $(shared-thread-library) +$(objpfx)tst-join7: $(shared-thread-library) $(objpfx)tst-join7.out: $(objpfx)tst-join7mod.so $(objpfx)tst-join7mod.so: $(shared-thread-library) LDFLAGS-tst-join7mod.so = -Wl,-soname,tst-join7mod.so diff --git a/sysdeps/x86/Makefile b/sysdeps/x86/Makefile index aa016f7b5a..346ec491b3 100644 --- a/sysdeps/x86/Makefile +++ b/sysdeps/x86/Makefile @@ -51,7 +51,6 @@ CFLAGS-tst-isa-level-mod-1-v4.c += -DINCLUDE_X86_ISA_LEVEL \ -DISA_LEVEL=0xf \ -march=x86-64 -$(objpfx)tst-isa-level-1: $(libdl) $(objpfx)tst-isa-level-1.out: $(objpfx)tst-isa-level-mod-1-baseline.so \ $(objpfx)tst-isa-level-mod-1-v2.so \ $(objpfx)tst-isa-level-mod-1-v3.so \ @@ -162,38 +161,30 @@ $(objpfx)tst-cet-legacy-1: $(objpfx)tst-cet-legacy-mod-1.so \ $(objpfx)tst-cet-legacy-mod-2.so $(objpfx)tst-cet-legacy-1a: $(objpfx)tst-cet-legacy-mod-1.so \ $(objpfx)tst-cet-legacy-mod-2.so -$(objpfx)tst-cet-legacy-2: $(objpfx)tst-cet-legacy-mod-2.so $(libdl) +$(objpfx)tst-cet-legacy-2: $(objpfx)tst-cet-legacy-mod-2.so $(objpfx)tst-cet-legacy-2.out: $(objpfx)tst-cet-legacy-mod-1.so -$(objpfx)tst-cet-legacy-2a: $(objpfx)tst-cet-legacy-mod-2.so $(libdl) +$(objpfx)tst-cet-legacy-2a: $(objpfx)tst-cet-legacy-mod-2.so $(objpfx)tst-cet-legacy-2a.out: $(objpfx)tst-cet-legacy-mod-1.so -$(objpfx)tst-cet-legacy-4: $(libdl) $(objpfx)tst-cet-legacy-4.out: $(objpfx)tst-cet-legacy-mod-4.so -$(objpfx)tst-cet-legacy-5a: $(libdl) $(objpfx)tst-cet-legacy-5a.out: $(objpfx)tst-cet-legacy-mod-5a.so \ $(objpfx)tst-cet-legacy-mod-5b.so $(objpfx)tst-cet-legacy-mod-5a.so: $(objpfx)tst-cet-legacy-mod-5c.so $(objpfx)tst-cet-legacy-mod-5b.so: $(objpfx)tst-cet-legacy-mod-5c.so -$(objpfx)tst-cet-legacy-6a: $(libdl) $(objpfx)tst-cet-legacy-6a.out: $(objpfx)tst-cet-legacy-mod-6a.so \ $(objpfx)tst-cet-legacy-mod-6b.so $(objpfx)tst-cet-legacy-mod-6a.so: $(objpfx)tst-cet-legacy-mod-6c.so $(objpfx)tst-cet-legacy-mod-6b.so: $(objpfx)tst-cet-legacy-mod-6c.so LDFLAGS-tst-cet-legacy-mod-6c.so = -Wl,--enable-new-dtags,-z,nodelete ifneq (no,$(have-tunables)) -$(objpfx)tst-cet-legacy-4a: $(libdl) $(objpfx)tst-cet-legacy-4a.out: $(objpfx)tst-cet-legacy-mod-4.so tst-cet-legacy-4a-ENV = GLIBC_TUNABLES=glibc.cpu.x86_shstk=permissive -$(objpfx)tst-cet-legacy-4b: $(libdl) $(objpfx)tst-cet-legacy-4b.out: $(objpfx)tst-cet-legacy-mod-4.so tst-cet-legacy-4b-ENV = GLIBC_TUNABLES=glibc.cpu.x86_shstk=on -$(objpfx)tst-cet-legacy-4c: $(libdl) $(objpfx)tst-cet-legacy-4c.out: $(objpfx)tst-cet-legacy-mod-4.so tst-cet-legacy-4c-ENV = GLIBC_TUNABLES=glibc.cpu.x86_shstk=off -$(objpfx)tst-cet-legacy-5b: $(libdl) $(objpfx)tst-cet-legacy-5b.out: $(objpfx)tst-cet-legacy-mod-5a.so \ $(objpfx)tst-cet-legacy-mod-5b.so tst-cet-legacy-5b-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-IBT,-SHSTK -$(objpfx)tst-cet-legacy-6b: $(libdl) $(objpfx)tst-cet-legacy-6b.out: $(objpfx)tst-cet-legacy-mod-6a.so \ $(objpfx)tst-cet-legacy-mod-6b.so tst-cet-legacy-6b-ENV = GLIBC_TUNABLES=glibc.cpu.hwcaps=-IBT,-SHSTK From patchwork Mon May 31 14:12:36 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43638 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5EFBB389853B; Mon, 31 May 2021 14:12:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5EFBB389853B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470364; bh=jHbUVp6oNMeNWfoJsVmU0JKdzZEpOwjTotSKAoT88L0=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=sc8WPbM1GIEfJLujCxuKxYLxkhwoJjpBOsapvHwMva8zM/2l+2WrfNYJcYpBMx5xt L+c14Assqid/XY4KIdBkVm78mZByInihixMPJrfS6rzcOD6LfUp+HcD6igbeZl/d1w svPtvw2dKwjuAcq1TK53ShotXkkCqHCu4CP2t3XM= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id C1A44389853B for ; Mon, 31 May 2021 14:12:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C1A44389853B Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-570-dwUC5vObP22XTjKcI4urbQ-1; Mon, 31 May 2021 10:12:39 -0400 X-MC-Unique: dwUC5vObP22XTjKcI4urbQ-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 10802100945E for ; Mon, 31 May 2021 14:12:39 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 68DD35D9C0 for ; Mon, 31 May 2021 14:12:38 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v2 15/16] dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 In-Reply-To: References: X-From-Line: 66fdbeb88347a0f07f1185e3294bbc78ded0d370 Mon Sep 17 00:00:00 2001 Message-Id: <66fdbeb88347a0f07f1185e3294bbc78ded0d370.1622469909.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:36 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_NUMSUBJECT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The test appears to use _dlfcn_hook@@GLIBC_PRIVATE as a way to test dlvsym without having to know the appropriate symbol version. With , we can use a public symbol and the symbol version at which it was defined first. Reviewed-by: Adhemerval Zanella --- dlfcn/modstatic2.c | 10 +++++++++- dlfcn/tststatic2.c | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/dlfcn/modstatic2.c b/dlfcn/modstatic2.c index 9b5aae8b9f..02d561a7b0 100644 --- a/dlfcn/modstatic2.c +++ b/dlfcn/modstatic2.c @@ -4,6 +4,7 @@ #include #include #include +#include int test (FILE *out, int a); @@ -117,11 +118,18 @@ test (FILE *out, int a) exit (1); } - if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) + /* _exit is very unlikely to receive a second symbol version. */ + void *exit_ptr = dlvsym (handle2, "_exit", FIRST_VERSION_libc__exit_STRING); + if (exit_ptr == NULL) { fprintf (out, "dlvsym: %s\n", dlerror ()); exit (1); } + if (exit_ptr != dlsym (handle2, "_exit")) + { + fprintf (out, "dlvsym for _exit does not match dlsym\n"); + exit (1); + } void *(*dlsymfn) (void *, const char *); dlsymfn = dlsym (handle2, "dlsym"); diff --git a/dlfcn/tststatic2.c b/dlfcn/tststatic2.c index f8cd5a964b..5d8a7831b2 100644 --- a/dlfcn/tststatic2.c +++ b/dlfcn/tststatic2.c @@ -4,6 +4,7 @@ #include #include #include +#include static int do_test (void) @@ -115,11 +116,18 @@ do_test (void) exit (1); } - if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) + /* _exit is very unlikely to receive a second symbol version. */ + void *exit_ptr = dlvsym (handle2, "_exit", FIRST_VERSION_libc__exit_STRING); + if (exit_ptr == NULL) { printf ("dlvsym: %s\n", dlerror ()); exit (1); } + if (exit_ptr != dlsym (handle2, "_exit")) + { + printf ("dlvsym for _exit does not match dlsym\n"); + exit (1); + } void *(*dlsymfn) (void *, const char *); dlsymfn = dlsym (handle2, "dlsym"); From patchwork Mon May 31 14:12:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43640 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EF8153938C28; Mon, 31 May 2021 14:12:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EF8153938C28 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1622470373; bh=/yOV6wilIkymK2jQRCZ7pnWkrjv5Whm8QtzR97HCGqA=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=m4F+10zctFVzy4lnhjsVqfZEL0CRTtdIlbf7Ej1CxoxlAW9yhQJpgYS7kwBtl9rFf 6cbJQ7Xe1BQXoKUyZ7OY6gmwDlbiu0tbRW+HxLBuiM8I9yZAZkvVXCkqPco1xX3Ozx ZWZsp3lJ/nrnWPZgL0uUXBLDVBcHDMJyH1Zhjdg4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id F3A183898532 for ; Mon, 31 May 2021 14:12:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F3A183898532 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-603-iSQ6OMrmPoqFl-9A_-aPDA-1; Mon, 31 May 2021 10:12:46 -0400 X-MC-Unique: iSQ6OMrmPoqFl-9A_-aPDA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2C8D68015F8 for ; Mon, 31 May 2021 14:12:45 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-228.ams2.redhat.com [10.36.113.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2898410016FC for ; Mon, 31 May 2021 14:12:43 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 16/16] dlfcn: Rework static dlopen hooks In-Reply-To: References: X-From-Line: 3c052fb456744cea69254e95a78a331579068b55 Mon Sep 17 00:00:00 2001 Message-Id: <3c052fb456744cea69254e95a78a331579068b55.1622469909.git.fweimer@redhat.com> Date: Mon, 31 May 2021 16:12:42 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_STOCKGEN, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" Consolidate all hooks structures into a single one. There are no static dlopen ABI concerns because glibc 2.34 already comes with substantial ABI-incompatible chagnes in this area. (Static dlopen requires the exact same dynamic glibc version that was used for static linking.) The new approach uses a pointer to the hooks structure into _rtld_global_ro and initalizes it in __rtld_static_init. This avoids a back-and-forth with various callback functions. Reviewed-by: Adhemerval Zanella --- dlfcn/dladdr.c | 2 +- dlfcn/dladdr1.c | 2 +- dlfcn/dlclose.c | 2 +- dlfcn/dlerror.c | 32 +---------------- dlfcn/dlinfo.c | 2 +- dlfcn/dlmopen.c | 10 ++---- dlfcn/dlopen.c | 10 ++---- dlfcn/dlopenold.c | 2 +- dlfcn/dlsym.c | 2 +- dlfcn/dlvsym.c | 3 +- elf/Versions | 1 - elf/dl-libc.c | 73 ++++---------------------------------- elf/rtld_static_init.c | 18 ++++++++++ include/dlfcn.h | 31 ++++++++-------- sysdeps/generic/ldsodefs.h | 3 ++ 15 files changed, 54 insertions(+), 139 deletions(-) diff --git a/dlfcn/dladdr.c b/dlfcn/dladdr.c index 3ef1b7f0b6..1cc305f0c4 100644 --- a/dlfcn/dladdr.c +++ b/dlfcn/dladdr.c @@ -25,7 +25,7 @@ __dladdr (const void *address, Dl_info *info) { #ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dladdr (address, info); + return GLRO (dl_dlfcn_hook)->dladdr (address, info); #endif return _dl_addr (address, info, NULL, NULL); } diff --git a/dlfcn/dladdr1.c b/dlfcn/dladdr1.c index 203d6398e4..78560dbac2 100644 --- a/dlfcn/dladdr1.c +++ b/dlfcn/dladdr1.c @@ -25,7 +25,7 @@ __dladdr1 (const void *address, Dl_info *info, void **extra, int flags) { #ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dladdr1 (address, info, extra, flags); + return GLRO (dl_dlfcn_hook)->dladdr1 (address, info, extra, flags); #endif switch (flags) diff --git a/dlfcn/dlclose.c b/dlfcn/dlclose.c index 4d5d307ab1..6a013a81bb 100644 --- a/dlfcn/dlclose.c +++ b/dlfcn/dlclose.c @@ -25,7 +25,7 @@ __dlclose (void *handle) { #ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dlclose (handle); + return GLRO (dl_dlfcn_hook)->dlclose (handle); #endif return _dlerror_run (GLRO (dl_close), handle) ? -1 : 0; diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index 3df8602f4d..d0194a7cef 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -33,7 +33,7 @@ __dlerror (void) { # ifdef SHARED if (!rtld_active ()) - return _dlfcn_hook->dlerror (); + return GLRO (dl_dlfcn_hook)->dlerror (); # endif struct dl_action_result *result = __libc_dlerror_result; @@ -197,33 +197,3 @@ _dlerror_run (void (*operate) (void *), void *args) } } libc_hidden_def (_dlerror_run) - -#ifdef SHARED -struct dlfcn_hook *_dlfcn_hook __attribute__((nocommon)); -libc_hidden_data_def (_dlfcn_hook) - -#else /* !SHARED */ - -static struct dlfcn_hook _dlfcn_hooks = - { - .dlopen = __dlopen, - .dlclose = __dlclose, - .dlsym = __dlsym, - .dlvsym = __dlvsym, - .dlerror = __dlerror, - .dladdr = __dladdr, - .dladdr1 = __dladdr1, - .dlinfo = __dlinfo, - .dlmopen = __dlmopen - }; - -void -__libc_register_dlfcn_hook (struct link_map *map) -{ - struct dlfcn_hook **hook; - - hook = (struct dlfcn_hook **) __libc_dlsym_private (map, "_dlfcn_hook"); - if (hook != NULL) - *hook = &_dlfcn_hooks; -} -#endif /* !SHARED */ diff --git a/dlfcn/dlinfo.c b/dlfcn/dlinfo.c index 15fcbc5dc1..c6f9a1da09 100644 --- a/dlfcn/dlinfo.c +++ b/dlfcn/dlinfo.c @@ -90,7 +90,7 @@ int ___dlinfo (void *handle, int request, void *arg) { if (!rtld_active ()) - return _dlfcn_hook->dlinfo (handle, request, arg); + return GLRO (dl_dlfcn_hook)->dlinfo (handle, request, arg); else return dlinfo_implementation (handle, request, arg); } diff --git a/dlfcn/dlmopen.c b/dlfcn/dlmopen.c index ae42814bbf..c171c8953d 100644 --- a/dlfcn/dlmopen.c +++ b/dlfcn/dlmopen.c @@ -81,7 +81,7 @@ void * ___dlmopen (Lmid_t nsid, const char *file, int mode) { if (!rtld_active ()) - return _dlfcn_hook->dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); + return GLRO (dl_dlfcn_hook)->dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); else return dlmopen_implementation (nsid, file, mode, RETURN_ADDRESS (0)); } @@ -101,13 +101,7 @@ __dlmopen (Lmid_t nsid, const char *file, int mode, void *dl_caller) void * ___dlmopen (Lmid_t nsid, const char *file, int mode) { - struct link_map *l = __dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); - if (l != NULL) - { - __libc_register_dl_open_hook (l); - __libc_register_dlfcn_hook (l); - } - return l; + return __dlmopen (nsid, file, mode, RETURN_ADDRESS (0)); } weak_alias (___dlmopen, dlmopen) static_link_warning (dlmopen) diff --git a/dlfcn/dlopen.c b/dlfcn/dlopen.c index afdc113efb..e04b374b82 100644 --- a/dlfcn/dlopen.c +++ b/dlfcn/dlopen.c @@ -76,7 +76,7 @@ void * ___dlopen (const char *file, int mode) { if (!rtld_active ()) - return _dlfcn_hook->dlopen (file, mode, RETURN_ADDRESS (0)); + return GLRO (dl_dlfcn_hook)->dlopen (file, mode, RETURN_ADDRESS (0)); else return dlopen_implementation (file, mode, RETURN_ADDRESS (0)); } @@ -96,13 +96,7 @@ __dlopen (const char *file, int mode, void *dl_caller) 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; + return __dlopen (file, mode, RETURN_ADDRESS (0)); } weak_alias (___dlopen, dlopen) static_link_warning (dlopen) diff --git a/dlfcn/dlopenold.c b/dlfcn/dlopenold.c index 0fe5f24cc5..9115501ac1 100644 --- a/dlfcn/dlopenold.c +++ b/dlfcn/dlopenold.c @@ -71,7 +71,7 @@ __dlopen_nocheck (const char *file, int mode) args.mode = mode; if (!rtld_active ()) - return _dlfcn_hook->dlopen (file, mode, RETURN_ADDRESS (0)); + return GLRO (dl_dlfcn_hook)->dlopen (file, mode, RETURN_ADDRESS (0)); return _dlerror_run (dlopen_doit, &args) ? NULL : args.new; } diff --git a/dlfcn/dlsym.c b/dlfcn/dlsym.c index 6b03b7b7ab..43044cf7bb 100644 --- a/dlfcn/dlsym.c +++ b/dlfcn/dlsym.c @@ -63,7 +63,7 @@ void * ___dlsym (void *handle, const char *name) { if (!rtld_active ()) - return _dlfcn_hook->dlsym (handle, name, RETURN_ADDRESS (0)); + return GLRO (dl_dlfcn_hook)->dlsym (handle, name, RETURN_ADDRESS (0)); else return dlsym_implementation (handle, name, RETURN_ADDRESS (0)); } diff --git a/dlfcn/dlvsym.c b/dlfcn/dlvsym.c index de6b340647..9b76f9afa5 100644 --- a/dlfcn/dlvsym.c +++ b/dlfcn/dlvsym.c @@ -66,7 +66,8 @@ void * ___dlvsym (void *handle, const char *name, const char *version) { if (!rtld_active ()) - return _dlfcn_hook->dlvsym (handle, name, version, RETURN_ADDRESS (0)); + return GLRO (dl_dlfcn_hook)->dlvsym (handle, name, version, + RETURN_ADDRESS (0)); else return dlvsym_implementation (handle, name, version, RETURN_ADDRESS (0)); } diff --git a/elf/Versions b/elf/Versions index be88c48e6d..a12d64e8db 100644 --- a/elf/Versions +++ b/elf/Versions @@ -23,7 +23,6 @@ libc { GLIBC_PRIVATE { # functions used in other libraries _dl_addr; - _dl_open_hook; _dl_open_hook2; _dl_sym; _dl_vsym; __libc_dlclose; __libc_dlopen_mode; __libc_dlsym; __libc_dlvsym; __libc_early_init; diff --git a/elf/dl-libc.c b/elf/dl-libc.c index ed551f6e56..3ac2a0645f 100644 --- a/elf/dl-libc.c +++ b/elf/dl-libc.c @@ -126,32 +126,7 @@ do_dlclose (void *ptr) GLRO(dl_close) ((struct link_map *) ptr); } -/* This code is to support __libc_dlopen from __libc_dlopen'ed shared - libraries. We need to ensure the statically linked __libc_dlopen - etc. functions are used instead of the dynamically loaded. */ -struct dl_open_hook -{ - void *(*dlopen_mode) (const char *name, int mode); - void *(*dlsym) (void *map, const char *name); - int (*dlclose) (void *map); - void *(*dlvsym) (void *map, const char *name, const char *version); -}; - -#ifdef SHARED -extern struct dl_open_hook *_dl_open_hook; -libc_hidden_proto (_dl_open_hook); -struct dl_open_hook *_dl_open_hook __attribute__ ((nocommon)); -libc_hidden_data_def (_dl_open_hook); - -/* The dlvsym member was added retroactively to struct dl_open_hook. - Static applications which have it will set _dl_open_hook2 in - addition to _dl_open_hook. */ -extern struct dl_open_hook *_dl_open_hook2; -libc_hidden_proto (_dl_open_hook2); -struct dl_open_hook *_dl_open_hook2 __attribute__ ((nocommon)); -libc_hidden_data_def (_dl_open_hook2); - -#else +#ifndef SHARED static void do_dlsym_private (void *ptr) { @@ -169,14 +144,6 @@ do_dlsym_private (void *ptr) args->map->l_scope, &vers, 0, 0, NULL); args->loadbase = l; } - -static struct dl_open_hook _dl_open_hook = - { - .dlopen_mode = __libc_dlopen_mode, - .dlsym = __libc_dlsym, - .dlclose = __libc_dlclose, - .dlvsym = __libc_dlvsym, - }; #endif /* ... and these functions call dlerror_run. */ @@ -191,16 +158,9 @@ __libc_dlopen_mode (const char *name, int mode) #ifdef SHARED if (!rtld_active ()) - return _dl_open_hook->dlopen_mode (name, mode); - return (dlerror_run (do_dlopen, &args) ? NULL : (void *) args.map); -#else - if (dlerror_run (do_dlopen, &args)) - return NULL; - - __libc_register_dl_open_hook (args.map); - __libc_register_dlfcn_hook (args.map); - return (void *) args.map; + return GLRO (dl_dlfcn_hook)->libc_dlopen_mode (name, mode); #endif + return (dlerror_run (do_dlopen, &args) ? NULL : (void *) args.map); } libc_hidden_def (__libc_dlopen_mode) @@ -216,21 +176,6 @@ __libc_dlsym_private (struct link_map *map, const char *name) return DL_SYMBOL_ADDRESS (sargs.loadbase, sargs.ref); return NULL; } - -void -__libc_register_dl_open_hook (struct link_map *map) -{ - struct dl_open_hook **hook; - - hook = (struct dl_open_hook **) __libc_dlsym_private (map, "_dl_open_hook"); - if (hook != NULL) - *hook = &_dl_open_hook; - - /* For dlvsym support. */ - hook = (struct dl_open_hook **) __libc_dlsym_private (map, "_dl_open_hook2"); - if (hook != NULL) - *hook = &_dl_open_hook; -} #endif void * @@ -242,7 +187,7 @@ __libc_dlsym (void *map, const char *name) #ifdef SHARED if (!rtld_active ()) - return _dl_open_hook->dlsym (map, name); + return GLRO (dl_dlfcn_hook)->libc_dlsym (map, name); #endif return (dlerror_run (do_dlsym, &args) ? NULL : (void *) (DL_SYMBOL_ADDRESS (args.loadbase, args.ref))); @@ -257,13 +202,7 @@ __libc_dlvsym (void *map, const char *name, const char *version) { #ifdef SHARED if (!rtld_active ()) - { - /* The static application is too old and does not provide the - dlvsym hook. */ - if (_dl_open_hook2 == NULL) - return NULL; - return _dl_open_hook2->dlvsym (map, name, version); - } + return GLRO (dl_dlfcn_hook)->libc_dlvsym (map, name, version); #endif struct do_dlvsym_args args; @@ -287,7 +226,7 @@ __libc_dlclose (void *map) { #ifdef SHARED if (!rtld_active ()) - return _dl_open_hook->dlclose (map); + return GLRO (dl_dlfcn_hook)->libc_dlclose (map); #endif return dlerror_run (do_dlclose, map); } diff --git a/elf/rtld_static_init.c b/elf/rtld_static_init.c index 42efecfbff..3f8abb6800 100644 --- a/elf/rtld_static_init.c +++ b/elf/rtld_static_init.c @@ -25,6 +25,23 @@ #include +static const struct dlfcn_hook _dlfcn_hook = + { + .dlopen = __dlopen, + .dlclose = __dlclose, + .dlsym = __dlsym, + .dlvsym = __dlvsym, + .dlerror = __dlerror, + .dladdr = __dladdr, + .dladdr1 = __dladdr1, + .dlinfo = __dlinfo, + .dlmopen = __dlmopen, + .libc_dlopen_mode = __libc_dlopen_mode, + .libc_dlsym = __libc_dlsym, + .libc_dlvsym = __libc_dlvsym, + .libc_dlclose = __libc_dlclose, + }; + void __rtld_static_init (struct link_map *map) { @@ -45,6 +62,7 @@ __rtld_static_init (struct link_map *map) extern __typeof (dl->_dl_clktck) _dl_clktck attribute_hidden; dl->_dl_clktck = _dl_clktck; #endif + dl->_dl_dlfcn_hook = &_dlfcn_hook; extern __typeof (dl->_dl_hwcap) _dl_hwcap attribute_hidden; dl->_dl_hwcap = _dl_hwcap; extern __typeof (dl->_dl_hwcap2) _dl_hwcap2 attribute_hidden; diff --git a/include/dlfcn.h b/include/dlfcn.h index 711bbb0f12..d4440c567e 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -91,8 +91,12 @@ libc_hidden_proto (_dl_vsym) extern int _dlerror_run (void (*operate) (void *), void *args); libc_hidden_proto (_dlerror_run) +/* This structure is used to make the outer (statically linked) + implementation of dlopen and related functions to the inner libc + after static dlopen, via the GLRO (dl_dlfcn_hook) pointer. */ struct dlfcn_hook { + /* Public interfaces. */ void *(*dlopen) (const char *file, int mode, void *dl_caller); int (*dlclose) (void *handle); void *(*dlsym) (void *handle, const char *name, void *dl_caller); @@ -104,15 +108,17 @@ struct dlfcn_hook void **extra_info, int flags); int (*dlinfo) (void *handle, int request, void *arg); void *(*dlmopen) (Lmid_t nsid, const char *file, int mode, void *dl_caller); - void *pad[4]; -}; -extern struct dlfcn_hook *_dlfcn_hook; -libc_hidden_proto (_dlfcn_hook) + /* Internal interfaces. */ + void* (*libc_dlopen_mode) (const char *__name, int __mode); + void* (*libc_dlsym) (void *map, const char *name); + void* (*libc_dlvsym) (void *map, const char *name, const char *version); + int (*libc_dlclose) (void *map); +}; -/* Note: These prototypes are for initializing _dflcn_hook in static - libraries. Internal calls in glibc should use the __libc_dl* - functions defined in elf/dl-libc.c instead. */ +/* Note: These prototypes are for initializing _dlfcn_hook in static + builds; see __rtld_static_init. 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, void *caller); extern void *__dlmopen (Lmid_t nsid, const char *file, int mode, @@ -125,16 +131,7 @@ extern int __dladdr (const void *address, Dl_info *info); extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags); extern int __dlinfo (void *handle, int request, void *arg); - -#ifndef SHARED -struct link_map; -extern void * __libc_dlsym_private (struct link_map *map, const char *name) - attribute_hidden; -extern void __libc_register_dl_open_hook (struct link_map *map) - attribute_hidden; -extern void __libc_register_dlfcn_hook (struct link_map *map) - attribute_hidden; -#endif +extern char *__dlerror (void); #endif #endif diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index e383aa1dc3..176394de4d 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -687,6 +687,9 @@ struct rtld_global_ro int (*_dl_discover_osversion) (void); #endif + /* Dynamic linker operations used after static dlopen. */ + const struct dlfcn_hook *_dl_dlfcn_hook; + /* List of auditing interfaces. */ struct audit_ifaces *_dl_audit; unsigned int _dl_naudit;