From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24165 invoked by alias); 1 Jul 2016 20:46:33 -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 24153 invoked by uid 89); 1 Jul 2016 20:46:32 -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=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_RP_RNBL,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=whatsoever X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_RP_RNBL,RP_MATCHES_RCVD autolearn=no 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: Carlos O'Donell Cc: 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> Date: Fri, 01 Jan 2016 00:00:00 -0000 In-Reply-To: (Carlos O'Donell's message of "Sat, 18 Jun 2016 14:55:05 -0400") Message-ID: <877fd5dr38.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2016-q3/txt/msg00000.txt.bz2 * Carlos O'Donell: >> ld(1) on a GNU/Linux machine says: >> --- >> -z lazy >> >> When generating an executable or shared library, mark it to tell the >> dynamic linker to defer function call resolution to the point when >> the function is called (lazy binding) >> --- > > Note that those man page is part of the linux man pages project and > are not canonical documentation for the glibc project. This particular ld manual page seems to be derived from the ld/binutils Info documentation, which promises the same behavior. 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.