From patchwork Tue May 25 14:44:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43569 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 E73CB3857C4F; Tue, 25 May 2021 14:45:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E73CB3857C4F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953902; bh=NgNRaJYl9IW9GseRVJmHtepR7KZk/ksLegXuo151uhM=; 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=r9tLIwiA+K88pP9AiWy4wTCOnreg0n5lyrVkiHjKBxM4zmmCzGHX6yai8TPuDPmnP zAKxh71Qf9XhPIw+cL/D4BUA1DbIRn0oSyWqaKQgxyPpQMPji9GDQYPzVLjzYq7/rp VK3QysWZ61w71Wv1PVp7mzv/4GE37C89PnUZ5nQs= 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 5A8103857C4F for ; Tue, 25 May 2021 14:44:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5A8103857C4F 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-597-Sm87Ui4PMAGaluvYUWFkOw-1; Tue, 25 May 2021 10:44:52 -0400 X-MC-Unique: Sm87Ui4PMAGaluvYUWFkOw-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 397721926DB6 for ; Tue, 25 May 2021 14:44:51 +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 A87CE100763C for ; Tue, 25 May 2021 14:44:50 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 01/14] stdio-common: Remove _IO_vfwscanf In-Reply-To: References: X-From-Line: 5c988a9c0d6c1e1cf62fa0ce57c67f31b3505b79 Mon Sep 17 00:00:00 2001 Message-Id: <5c988a9c0d6c1e1cf62fa0ce57c67f31b3505b79.1621953726.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:44:48 +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=-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. --- stdio-common/Makefile | 2 +- stdio-common/iovfwscanf.c | 38 -------------------------------------- 2 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 stdio-common/iovfwscanf.c 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 From patchwork Tue May 25 14:44:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43570 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 2169C393A402; Tue, 25 May 2021 14:45:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2169C393A402 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953904; bh=Z2mnNUR1+6dFQ5zuLKXbyBVUrh0blAnFDaXlBNClzUM=; 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=nPITHNLrL6oDF8vFoXheGU0h7f6S4O3BEZBrggbrgI2zbKSkNXaC8DER5sHNEThiy 6r8p+0Nhx25dyAT2J3FaFX25RYuwZFVhlYGyYuoy6USY32eyb4yWqd2zMmeESXzVhd ofYlImNctOAhLZ/QMEm084E5ODhXC804Crwbmnr0= 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 EC341385781D for ; Tue, 25 May 2021 14:44:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EC341385781D 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-33-FKwOrk5WOCCpg3sj6G8ShQ-1; Tue, 25 May 2021 10:44:56 -0400 X-MC-Unique: FKwOrk5WOCCpg3sj6G8ShQ-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 7FE1E1007467 for ; Tue, 25 May 2021 14:44:55 +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 D8CB850AC6 for ; Tue, 25 May 2021 14:44:54 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 02/14] Add libc ABI extension kludge for baseline-violating libdl symbols In-Reply-To: References: X-From-Line: d2383471b2a8f72a069ddca9f30ba4a58af56e64 Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:44:52 +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" 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 of affected symbols and the essentially fixed set, no generic mechanism is implemented, and instead the map file fragment is hard-coded in scripts/versions.mk. Listing not-yet-moved symbols in this fragment does not change the libc ABI. The compat_symbol macro already emits the appropriate version strings, so no adjustments are needed there. --- scripts/versions.awk | 36 +++++++++++++++++-- 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, 38 insertions(+), 2 deletions(-) diff --git a/scripts/versions.awk b/scripts/versions.awk index 3291123666..3b829929c2 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -93,6 +93,33 @@ 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() { + printf("\ +GLIBC_2.0 {\n\ + global:\n\ + dladdr;\n\ + dlclose;\n\ + dlerror;\n\ + dlopen;\n\ + dlsym;\n\ + local:\n\ + *;\n\ +};\n\ +GLIBC_2.1 {\n\ + global:\n\ + dlopen;\n\ + dlvsym;\n\ +} GLIBC_2.0;\n\ +") > outfile; + return "GLIBC_2.1"; +} function closeversion(name, oldname) { if (firstinfile) { @@ -157,8 +184,13 @@ END { oldlib = $1; real_outfile = buildroot oldlib ".map"; outfile = real_outfile "T"; - firstinfile = 1; - veryoldver = ""; + if ($1 == "libc" && libc_abi_extension_active) { + firstinfile = 0; + veryoldver = libc_abi_extension(); + } else { + firstinfile = 1; + 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 214e6f9f1a..f56da206ea 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 e0938c4165..cc57722681 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 Tue May 25 14:44:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43571 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 22DA0393A40C; Tue, 25 May 2021 14:45:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 22DA0393A40C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953910; 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=m7cvZg+rnlqzK7mrrqpx48Qy5lsOU/4Wc9LDOioMDDub0hFo9EkxuHeAJpGaBfJjf xxljj5wXQQ+58TTgvqeaDzxv7pALCzVB0UG3RhsRbEHMZC61kL6kx2MeWdb5HI1U3u 5eP553YVOkMQ76K7dbnQpglloktXRX0aJGiHJTsk= 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 64181393A40E for ; Tue, 25 May 2021 14:45:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 64181393A40E 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-394-TnhdpspNPpaQ6Bb6REXrNQ-1; Tue, 25 May 2021 10:45:02 -0400 X-MC-Unique: TnhdpspNPpaQ6Bb6REXrNQ-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 3F8E9FC88 for ; Tue, 25 May 2021 14:45:01 +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 92308100763C for ; Tue, 25 May 2021 14:44:59 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 03/14] dlfcn: Move dlerror into libc In-Reply-To: References: X-From-Line: dcc7bb35c380cb4f0f7e6abacf29867ac7b85cda Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:44:57 +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=-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. --- 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 Tue May 25 14:45:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43572 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 2D2C2393A417; Tue, 25 May 2021 14:45:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2D2C2393A417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953915; 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=hAip7bJ+CrwMr29DPPaR+4KGmKHmYVpD5hix4Id2eiyQ6ck0uRP84GvqPoJqcR/GV Lb6LInc7ou40lYurD9+l3PDaXsrWK3fmUBuYJwKJJFHp/qSF45485cdcjystJtkFeA uP1WrrkGYUQgyjjHZhESDFIGDiPG6YWkS0STBh9o= 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 0AD67393A40A for ; Tue, 25 May 2021 14:45:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0AD67393A40A 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-516-vqGdFJddPKCZBcn9VYYTyQ-1; Tue, 25 May 2021 10:45:07 -0400 X-MC-Unique: vqGdFJddPKCZBcn9VYYTyQ-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 DB4A2801B14 for ; Tue, 25 May 2021 14:45:06 +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 51B9550AA8 for ; Tue, 25 May 2021 14:45:05 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 04/14] dlfcn: Move dlclose into libc In-Reply-To: References: X-From-Line: ffe540c81bd9dd326284c9f4333fede530c4aa2c Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:45:03 +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. --- 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 Tue May 25 14:45:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43573 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 9CC1D393A413; Tue, 25 May 2021 14:45:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9CC1D393A413 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953921; 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=skaLSqAB63fueUVoCh9TyYmiDC48k8ESDT/C5j0LOmqGMSvgAhDkLOn7MSWNbz5IC uWk8HWKo0AXmNh4inJM8nv5kkttRkDSv4asUApSOthLkTIsXZgl9oLc9mmMCiphmwk 7Cmq+C60YanBH7fSiDN6zhdwq2ottwysJFudBl1A= 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 90C14393A41B for ; Tue, 25 May 2021 14:45:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 90C14393A41B 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-446-K7ucEPvjNCaxUfBJzW-Uwg-1; Tue, 25 May 2021 10:45:12 -0400 X-MC-Unique: K7ucEPvjNCaxUfBJzW-Uwg-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 130A5801B35 for ; Tue, 25 May 2021 14:45:12 +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 EBE88189C7 for ; Tue, 25 May 2021 14:45:10 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 05/14] dlfcn: Move dladdr into libc In-Reply-To: References: X-From-Line: 47757667747f500dfb73474048c0a6109fe1592a Mon Sep 17 00:00:00 2001 Message-Id: <47757667747f500dfb73474048c0a6109fe1592a.1621953726.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:08 +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. --- 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 Tue May 25 14:45:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43574 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 23259393A422; Tue, 25 May 2021 14:45:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 23259393A422 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953926; 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=oj+OF4/KPlDwdT93PnB7Mi52rdwSrZAiq2sSJCjhUGDAiB4dER2Fz6pR7MOmYd/3n VaSk+ydDdbUxFIyqREQeVgw8r8dyEcFWkSrcEkvx16y59aoJvlvXSeAYbhb22GC/uB VSJ+iZF/R6ksI+YPhYab8jZ2c0/cDKu6a0/gwTdU= 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 6DCDB393A41F for ; Tue, 25 May 2021 14:45:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6DCDB393A41F 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-460-DE7wZpbuM-6NJIk2P5NEDg-1; Tue, 25 May 2021 10:45:17 -0400 X-MC-Unique: DE7wZpbuM-6NJIk2P5NEDg-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 3F747107ACE4 for ; Tue, 25 May 2021 14:45:16 +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 23DEB60C13 for ; Tue, 25 May 2021 14:45:14 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 06/14] dlfcn: Move dlsym into libc In-Reply-To: References: X-From-Line: 2ff7a2a0c3e098f47f1956a32eec480333129356 Mon Sep 17 00:00:00 2001 Message-Id: <2ff7a2a0c3e098f47f1956a32eec480333129356.1621953726.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:13 +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. In elf/Makefile, remove the $(libdl) dependency from testobj1.so because it the unused libdl DSO now causes elf/tst-unused-deps to fail. --- 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 Tue May 25 14:45:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43575 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 336CA393A419; Tue, 25 May 2021 14:45:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 336CA393A419 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953932; 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=fbQKKrQXxcW911NU7qNnsSIaD7iChZ8jyzj5Yy3H6mZmoa+BDmhTyu2O0UOx6TK4a wt3O7rMxdmjIujXswsyvTJXCmwh6ABrBQiGyQl171+USUSMAFal28ORvPTY7Po0OEB HfjhdTcbbLLvBOnVpVXXlK3ZshlHtgNN0agigfP0= 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 11A23393A41F for ; Tue, 25 May 2021 14:45:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 11A23393A41F 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-311-GKkotFj3MHyW9CqMd5qE2Q-1; Tue, 25 May 2021 10:45:22 -0400 X-MC-Unique: GKkotFj3MHyW9CqMd5qE2Q-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 C79C1107ACCD for ; Tue, 25 May 2021 14:45:21 +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 138532BFE6 for ; Tue, 25 May 2021 14:45:19 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 07/14] dlfcn: Move dlmopen into libc In-Reply-To: References: X-From-Line: 3c4f25a9eb0fabb9a047782a7b430cf9371f533b Mon Sep 17 00:00:00 2001 Message-Id: <3c4f25a9eb0fabb9a047782a7b430cf9371f533b.1621953726.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:17 +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, 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. --- 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 Tue May 25 14:45: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: 43576 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 041AB3939C3A; Tue, 25 May 2021 14:45:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 041AB3939C3A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953936; 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=kc/HIWgSIdmVitUvWMux920jXt+9nxktqaTsQ7N2+DuelWcL9ZCoq9DJfhslpp4U9 U85q9PooN21buPVqkX63FuxZFUrcU4LgJQzqyIAjzZab/iNYMvXXkoU587DjTOnu7n Cncq3pvL276GKt+mIq7+aGSbiGNCgGnsrfKDon50= 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 163663939C3A for ; Tue, 25 May 2021 14:45:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 163663939C3A 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-558-CB8esKFpMaCkAnZzF3HYZA-1; Tue, 25 May 2021 10:45:28 -0400 X-MC-Unique: CB8esKFpMaCkAnZzF3HYZA-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 41E8C80364C for ; Tue, 25 May 2021 14:45:27 +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 B01EC10016F8 for ; Tue, 25 May 2021 14:45:25 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 08/14] dlfcn: Move dladdr1 into libc In-Reply-To: References: X-From-Line: 5c8cda43b00f99ad7f767b84968368a396ab0146 Mon Sep 17 00:00:00 2001 Message-Id: <5c8cda43b00f99ad7f767b84968368a396ab0146.1621953727.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:23 +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=-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. --- 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 Tue May 25 14:45:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43577 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 6D250393A43C; Tue, 25 May 2021 14:45:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D250393A43C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953953; 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=s251QhaNR7xSeXhPOc4FFUBcMTUyVOAGl0m1XOKbA5qmQoojjw+LScNnnj0y60UkS qBZuO+MQwF2E0KHHdFQsm6zKXVLAEhKfPEuBbov2LODODWp2gTjbjHO7a6VWvnusNE 736g+25qrkcLiwyYcoMgnBWxDy3FRgZwAhIT6+EY= 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 BE243393A40E for ; Tue, 25 May 2021 14:45:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BE243393A40E 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-393-2gg4IuMAOIqqmxQBnt0Sww-1; Tue, 25 May 2021 10:45:45 -0400 X-MC-Unique: 2gg4IuMAOIqqmxQBnt0Sww-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 42E6B107ACE8 for ; Tue, 25 May 2021 14:45:44 +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 C60BD17C5F for ; Tue, 25 May 2021 14:45:42 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 09/14] dlfcn: Move dlinfo into libc In-Reply-To: References: X-From-Line: 32fac44dcde9f3c0f0f37a5c774eda4570a1f886 Mon Sep 17 00:00:00 2001 Message-Id: <32fac44dcde9f3c0f0f37a5c774eda4570a1f886.1621953727.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:40 +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. --- 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 Tue May 25 14:45:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43578 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 6C691393A43F; Tue, 25 May 2021 14:45:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6C691393A43F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953958; 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=t9cF3rRQoxxDxTOb8dlohJiY+QMC9WnvEbc2nDJmR9XOD6noihaQvywG27y8XGs75 tTefp0Gm8THWQNPSdW2wEcPGFw/F/RVDFu4tlpotUqFy0CD3L/AnKI6PMvYOipQUGx N5aSIHSh0UZUHgUAaWLO9V+cpjUTgmD7UpmeS0lo= 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 44EDA393A43A for ; Tue, 25 May 2021 14:45:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 44EDA393A43A 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-532-rzRlAV7PPtObZJqr_XUOtA-1; Tue, 25 May 2021 10:45:50 -0400 X-MC-Unique: rzRlAV7PPtObZJqr_XUOtA-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 C7F71800FF0 for ; Tue, 25 May 2021 14:45:49 +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 6C11061094 for ; Tue, 25 May 2021 14:45:48 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 10/14] dlfcn: Move dlvsym into libc In-Reply-To: References: X-From-Line: df1f5fd21c327af9b2879e01276748c161d4e745 Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:45:46 +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. --- 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 Tue May 25 14:45:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43579 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 6D696393A43A; Tue, 25 May 2021 14:46:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D696393A43A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953965; 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=eeAJPns72xBAj2RPuRdCOUPhuZNGKovGSACIj6s/rkMNa0GngOSmXsv9VeA+weNMD wIM+w1YclNwPSXDtpdRFNFcRGkcHM/5J933UccSLUKc9fydyZRovLaZJmBdFF0C24M UORb45V6IT0OxsHjlQmSEnijMcyMxrcus8ZUng2c= 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 EE3EA393BC07 for ; Tue, 25 May 2021 14:45:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EE3EA393BC07 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-399-Mmt0scnnN0qkZMWX3IPJmA-1; Tue, 25 May 2021 10:45:55 -0400 X-MC-Unique: Mmt0scnnN0qkZMWX3IPJmA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0714E192CC4A for ; Tue, 25 May 2021 14:45:55 +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 709D160CEB for ; Tue, 25 May 2021 14:45:53 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 11/14] dlfcn: Move dlopen into libc In-Reply-To: References: X-From-Line: 2a986278b97cf931dc01a5b4c51efdc2d60f72c9 Mon Sep 17 00:00:00 2001 Message-Id: <2a986278b97cf931dc01a5b4c51efdc2d60f72c9.1621953727.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:45:51 +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.13 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. --- 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 Tue May 25 14:45:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43581 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 0C48F393BC13; Tue, 25 May 2021 14:46:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0C48F393BC13 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953974; bh=ljxxqTw6W78rKEsF5jfnz07ORThNTHffaI93dui6F3M=; 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=dEirNAVluSKF41447KNFYxzIP7naTFtDMC4pSNPDWAbSEE9yH8A+kAIV8YBGdjymd zllaBuInG50n4e/0BK7lOAo38UlD8HUnexDqe9AfsyrzH1WfI03Qzz9rpTyglffNym 4CWlqSIj/hGxZrRQPR+xVYF50a7Yizpmo1uu+ADg= 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 D4033393BC0A for ; Tue, 25 May 2021 14:46:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D4033393BC0A 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-207-rL8TKeAvMiSfIGPsmktayg-1; Tue, 25 May 2021 10:46:01 -0400 X-MC-Unique: rL8TKeAvMiSfIGPsmktayg-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 EC411107ACE4 for ; Tue, 25 May 2021 14:46:00 +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 93E3B5D6AC for ; Tue, 25 May 2021 14:45:59 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 12/14] dlfcn: Cleanups after -ldl is no longer required In-Reply-To: References: X-From-Line: ca443b4e646523a7e13b10f910eac423a4432fbf Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:45:57 +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. --- 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 16eaf58948..6f9910abaa 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -496,7 +496,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 \ @@ -512,11 +511,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 @@ -534,8 +531,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 @@ -549,14 +544,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 Tue May 25 14:46:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43580 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 6B701393BC0E; Tue, 25 May 2021 14:46:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B701393BC0E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953970; bh=OqFUVZCA6jwFsD87fPprJZpEKOoPPVtHgQDhhPHr0Is=; 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=xPGmTkMsIari+vFJryZOq2NXQjEJeAJKdBtjjIKBfHWtvxG7Bof05SF0kcPV4tfTg eI+HWtOsIAZvF9tq0ETtvV1ttwrVVPm+r8fntz+YOFjEW7ytJMb5b4i3acfynAW1IL OtTFSMWaDDdOmc5Ud8WU3625xbJY1sq5b77QIey4= 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 F235B393BC0B for ; Tue, 25 May 2021 14:46:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F235B393BC0B 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-235-EcfcJvexOwimtGr8c4S8og-1; Tue, 25 May 2021 10:46:06 -0400 X-MC-Unique: EcfcJvexOwimtGr8c4S8og-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 A597B107ACC7 for ; Tue, 25 May 2021 14:46:05 +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 0897E100763C for ; Tue, 25 May 2021 14:46:04 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 13/14] dlfcn: Eliminate GLIBC_PRIVATE dependency from tststatic2 In-Reply-To: References: X-From-Line: 55b77553739d573de35d0b558e9c5fa453cc84dd Mon Sep 17 00:00:00 2001 Message-Id: <55b77553739d573de35d0b558e9c5fa453cc84dd.1621953727.git.fweimer@redhat.com> Date: Tue, 25 May 2021 16:46:02 +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=-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. --- dlfcn/modstatic2.c | 3 ++- dlfcn/tststatic2.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlfcn/modstatic2.c b/dlfcn/modstatic2.c index 9b5aae8b9f..34568d4e6e 100644 --- a/dlfcn/modstatic2.c +++ b/dlfcn/modstatic2.c @@ -4,6 +4,7 @@ #include #include #include +#include int test (FILE *out, int a); @@ -117,7 +118,7 @@ test (FILE *out, int a) exit (1); } - if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) + if (dlvsym (handle2, "malloc", FIRST_VERSION_libc_malloc_STRING) == NULL) { fprintf (out, "dlvsym: %s\n", dlerror ()); exit (1); diff --git a/dlfcn/tststatic2.c b/dlfcn/tststatic2.c index f8cd5a964b..ba4648e521 100644 --- a/dlfcn/tststatic2.c +++ b/dlfcn/tststatic2.c @@ -4,6 +4,7 @@ #include #include #include +#include static int do_test (void) @@ -115,7 +116,7 @@ do_test (void) exit (1); } - if (dlvsym (handle2, "_dlfcn_hook", "GLIBC_PRIVATE") == NULL) + if (dlvsym (handle2, "malloc", FIRST_VERSION_libc_malloc_STRING) == NULL) { printf ("dlvsym: %s\n", dlerror ()); exit (1); From patchwork Tue May 25 14:46:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43582 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 298AF393BC17; Tue, 25 May 2021 14:46:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 298AF393BC17 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1621953979; 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=vR/Jl/uxX8tlg2BdkUVlpdTYfoxKWkfup5kYQZ8qZA5rJDfQNJ4ZYJM4PUoofbzCl y39FOfTYXzVdir0WMD8d2GipMjVdyxTNKl/9PQTzQgT6+hmkEqftx/4GxRHWOa7hTF zuStHmDWMwTAs6cmjB+y7W+AXreX6Kk0vQm4XZ98= 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 D308E393BC0B for ; Tue, 25 May 2021 14:46:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D308E393BC0B 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-550-mnhJ7drEOpKwG9auBLGEhA-1; Tue, 25 May 2021 10:46:12 -0400 X-MC-Unique: mnhJ7drEOpKwG9auBLGEhA-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 C7F19801817 for ; Tue, 25 May 2021 14:46:11 +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 D45839D53 for ; Tue, 25 May 2021 14:46:10 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 14/14] dlfcn: Rework static dlopen hooks In-Reply-To: References: X-From-Line: cea3b14275930d7bf1aaed9dc8cc893424787444 Mon Sep 17 00:00:00 2001 Message-Id: Date: Tue, 25 May 2021 16:46:07 +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=-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. --- 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;