From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 3CA42398B8A2 for ; Tue, 4 May 2021 12:33:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3CA42398B8A2 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-TiJkTAy1PqOtP_AkI3mMNA-1; Tue, 04 May 2021 08:33:34 -0400 X-MC-Unique: TiJkTAy1PqOtP_AkI3mMNA-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7182F6D586; Tue, 4 May 2021 12:33:33 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-137.ams2.redhat.com [10.36.112.137]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6369C5D9C0; Tue, 4 May 2021 12:33:32 +0000 (UTC) From: Florian Weimer To: "H.J. Lu" Cc: GNU C Library , Andreas Schwab Subject: Re: [RFC] elf: Implement filtering of symbols historically defined in libpthread References: <87h7jqguew.fsf@oldenburg.str.redhat.com> <87k0oeln6s.fsf@oldenburg.str.redhat.com> <87wnsek7ku.fsf@oldenburg.str.redhat.com> Date: Tue, 04 May 2021 14:33:46 +0200 In-Reply-To: (H. J. Lu's message of "Tue, 4 May 2021 05:30:03 -0700") Message-ID: <87sg32k79x.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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-List-Received-Date: Tue, 04 May 2021 12:33:38 -0000 * H. J. Lu: > On Tue, May 4, 2021 at 5:27 AM Florian Weimer wrote: >> >> * H. J. Lu: >> >> >> The patch attempts to detect old main programs by looking for the >> >> GLIBC_2.34 symbol version. Since we added __libc_start_main@@GLIBC_2.34 >> >> (which is called from our version of _start), all standard main programs >> >> linked with glibc 2.34 or later will have this symbol version. >> >> > Can we invent a symbol or version to detect the older binaries? >> > If not, can GNU property, ABI note, .... help here? >> >> I think we have all we need due to __libc_start_main@@GLIBC_2.34. It >> was an unrelated change, but it helps here as well. > > So your patch isn't required? Can you add some tests to verify it? No, the patch uses the absence of GLIBC_2.34 for detecting old binaries. We cannot use symbol versions in other ways because one key characteristic of weak references and underlinking is the lack of version information on the symbol itself. Thanks, Florian