From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69906 invoked by alias); 30 Jul 2016 18:44:02 -0000 Mailing-List: contact gnu-gabi-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: gnu-gabi-owner@sourceware.org Received: (qmail 69894 invoked by uid 89); 30 Jul 2016 18:44:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.1 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=alpine, deliberate X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: albireo.enyo.de From: Florian Weimer To: Szabolcs Nagy Cc: Carlos O'Donell , hegdesmailbox@gmail.com, gnu-gabi@sourceware.org Subject: Re: GNU dlopen(3) differs from POSIX/IEEE References: <25bc0c78-19ae-8974-b142-bb57f21cdb3d@gmail.com> <763cd6f7-e33d-8d14-c0ba-f4e5797ddfa6@gmail.com> <42a86c64-a042-0c0d-9601-49729816c825@redhat.com> <8fead36d-c757-038a-3914-146ebeee8830@gmail.com> <877fd5dr38.fsf@mid.deneb.enyo.de> <20160730182745.GV19691@port70.net> Date: Fri, 01 Jan 2016 00:00:00 -0000 In-Reply-To: <20160730182745.GV19691@port70.net> (Szabolcs Nagy's message of "Sat, 30 Jul 2016 20:27:46 +0200") Message-ID: <87r3ab6k69.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2016-q3/txt/msg00004.txt.bz2 * Szabolcs Nagy: > * Florian Weimer [2016-07-01 22:46:19 +0200]: >> I am not sure what the exact semantics of lazy binding should be. >> With IFUNCs, lazy binding is observable, and we know from Fedora's >> BIND_NOW experiment that some applications assume that undefined >> functions which are never called do not cause any trouble whatsoever. > > this bind now experiment made me curious but i could not > find the results and its description. It's ongoing: Alpine Linux with musl runs essentially the same experiment because musl does not support lazy binding. > is there a list of affected packages somewhere? I'm not sure. I don't think Fedora keeps a tally of the exceptions. I can generate a list of objects which use lazy binding, but I don't know if those are accidents or the result of a deliberate choice. One example that keeps coming up is Xorg server modules, which do not use DT_NEEDED. Instead, an external dependency mechanism makes sure that functions in them are called only after all the relevant modules have been loaded (but not necessarily in the order of their symbol bindings).