From owner-freebsd-current@FreeBSD.ORG Mon May 26 02:58:30 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B857837B401; Mon, 26 May 2003 02:58:30 -0700 (PDT) Received: from haldjas.folklore.ee (Haldjas.folklore.ee [193.40.6.121]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0EEF43F3F; Mon, 26 May 2003 02:58:29 -0700 (PDT) (envelope-from narvi@haldjas.folklore.ee) Received: from haldjas.folklore.ee (localhost [127.0.0.1]) by haldjas.folklore.ee (8.12.3/8.11.3) with ESMTP id h4Q9wSBA019788; Mon, 26 May 2003 12:58:28 +0300 (EEST) (envelope-from narvi@haldjas.folklore.ee) Received: from localhost (narvi@localhost)h4Q9wRN3019785; Mon, 26 May 2003 12:58:27 +0300 (EEST) Date: Mon, 26 May 2003 12:58:27 +0300 (EEST) From: Narvi To: Marcel Moolenaar In-Reply-To: <20030525222955.GA826@athlon.pn.xcllnt.net> Message-ID: <20030526125208.K40030-100000@haldjas.folklore.ee> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Bang Jun-Young cc: current@freebsd.org cc: "Matthew N. Dodd" Subject: Re: Preliminary ELF prebinding patches available. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 May 2003 09:58:31 -0000 On Sun, 25 May 2003, Marcel Moolenaar wrote: > > normal: 14.003u 4.263s 0:23.14 78.9% 5+174k 0+0io 0pf+0w > > prebind: 1.108u 3.231s 0:05.46 79.3% 6+182k 0+0io 0pf+0w > > static: 0.000u 0.062s 0:00.15 40.0% 66+229k 0+0io 0pf+0w > > > > This is just a quick and dirty example mind you; I should really run > > things with 10000 iterations and make execloop do its own timing > > statistics etc. > > Interesting. However, it seems to me that prebinding is solving > a problem it should not be solving. I would expect that the > toolchain sanitizes the dependency list. Put differently, if I > add a library to a link but none of the exported symbols are > actually being referenced, then there's no dependency and the > final shared object should not have that library recorded at > all. The runtime overhead between a minimal link and a bloated > link would then be minimal (there's always the chance of false > positives). > In an ideal world - yes. In the practical world, you will first need to patch the linker to have an option to do so (solaris linker has such an option for example) and then ... you have to go through massive patching of all software that is sloppy about always including needed libraries instead of relying things working because the binaries are linked against all and every lib any lib dependency uses. This is not a trivial undertaking. > FYI, > > -- > Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net >