From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de [85.215.255.52]) by sourceware.org (Postfix) with ESMTPS id F126A3896C15; Tue, 27 Apr 2021 23:47:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F126A3896C15 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=clisp.org Authentication-Results: sourceware.org; spf=none smtp.mailfrom=bruno@clisp.org ARC-Seal: i=1; a=rsa-sha256; t=1619567231; cv=none; d=strato.com; s=strato-dkim-0002; b=jhApbx91SLEgw383DXxdKtmeb/rd80nIl9EEzosbMdVGspRAjWTOw0WDsshhXhVz75 GfRPqb5uyguipmvZRkmA/o5WVe3KPdbgSkQhbWStLhzr1cIMa64qcldfdt/X+B0E/VCe CDaw0tV+9GUmcLSXqyAzHtU2eOiUa26E1v2ZPfYD9/gQU/HZGBLnH0DpFNS1RBR30al1 oAg4zvZpi5pq7mbSmCF5aI+uJri/nbTcmn7KGVdvb1K6U8HJFwvmBXkHLezi3N0SmaXy MNZTo0/jatVI8ziiOXnfuZVRtcKfTzy8KRX34q14+f1ofO+XsYv42cSbATxPwSjhWpq6 8sHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1619567231; s=strato-dkim-0002; d=strato.com; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=VmmiqioBILDtRnaB2oG9kD6dSSLzfEImkHEcJb1YA3E=; b=mJDRynbnjF6iJDfDq9jpejJKQGjR8U9yiHrOprUazWxWXKmKJpeGCFNfi51Pb8OF/e DUYxpH5rpuNcTuWVc0mK7lnefGU8VX5Qfi1Te6PJPyj8/zrASW8zF7JFvVZime5tnSPn BlIos6chs9p0Us5YZAxz0nQEla6wVwCaTBVcv1Wg+A+1vXURFz3IGppSayIZ4eqpImrW gITPyYemGB0OheTJ55Ntqr3eANsMAKceEykfyyWBHo+19vZaH1OyyIgY7PmMCMYOuZTE 4wg17RXNGLlEr+SFrgJPOgwX5V6guq0vTR9I+DIOloJc7VaLZ5/6vgSNi5CK85OhOfPZ ZsDw== ARC-Authentication-Results: i=1; strato.com; dkim=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1619567231; s=strato-dkim-0002; d=clisp.org; h=References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Cc:Date: From:Subject:Sender; bh=VmmiqioBILDtRnaB2oG9kD6dSSLzfEImkHEcJb1YA3E=; b=BTiTCfpk9G48C4ZJ9rSXmDUEfqqqV7nYNFjP/s7NA4ZlCA75DIyXohDwgASpYfdeWv oqxlisHgusIdMGGdDn0TeO6varSnXJZ98NyUXl8mmn5EM372WvhmHRCHhvaC5A01/SpB PxU+ZXvK97oQd4MzN7lcy7ohfPrTgCAbrRVMG+fPc8pUOtZTUJ8xqedUKOO6jBdn4ifk 9u+qQBREeJrZD56bmhYag2cvGJ6CtRgp1W7GO8LVtcMKdZG73Z70QxNgvJRuKeFeivaF 5XaoYg1Shw/CJrIfbAuRcXEkMg84x2wWRvrrjQDJF0eiebko6mg0z2ayTx8QHwjZ9ywb P/KA== Authentication-Results: strato.com; dkim=none X-RZG-AUTH: ":Ln4Re0+Ic/6oZXR1YgKryK8brlshOcZlIWs+iCP5vnk6shH+AHjwLuWOHqf3z5NW" X-RZG-CLASS-ID: mo00 Received: from bruno.haible.de by smtp.strato.de (RZmta 47.25.2 DYNA|AUTH) with ESMTPSA id 905ad3x3RNlB3Q5 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (curve X9_62_prime256v1 with 256 ECDH bits, eq. 3072 bits RSA)) (Client did not present a certificate); Wed, 28 Apr 2021 01:47:11 +0200 (CEST) From: Bruno Haible To: bug-gnulib@gnu.org Cc: Florian Weimer , libc-alpha@sourceware.org, binutils@sourceware.org Subject: Re: Undefined use of weak symbols in gnulib Date: Wed, 28 Apr 2021 01:47:10 +0200 Message-ID: <19516512.8WduG5kV5J@omega> User-Agent: KMail/5.1.3 (Linux/4.4.0-206-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: <87o8e0p92r.fsf@oldenburg.str.redhat.com> References: <87o8e0p92r.fsf@oldenburg.str.redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_NONE, 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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Apr 2021 23:47:14 -0000 Hi Florian, > This will become an urgent issue with glibc 2.34 Thank you for the early heads-up. I would like to understand the scope and the severity of the issue. You write: > Dynamic linking with weak symbols is not very well-defined. ... > the code will crash if pthread_mutexattr_gettype is ever defined. In which situations will it crash? (a) when the code is in an executable, that gets linked with '-lpthread' and that does not use dlopen()? (b) when the code is in an executable, that gets linked WITHOUT '-lpthread' and that does not use dlopen()? (c) when the code is in an executable, that gets linked WITHOUT '-lpthread' and that does a dlopen("libpthread.so.X")? Under which conditions will it crash? ($) when the executable was built before glibc 2.34 and is run with glibc 2.34 ? (%) when the executable is built against glibc 2.34 and is run with glibc 2.34 ? And if it crashes, will setting the environment variable LD_DYNAMIC_WEAK [1] avoid the crash? Bruno [1] https://sourceware.org/legacy-ml/libc-hacker/2000-06/msg00029.html