Date: Mon, 26 May 2003 12:58:27 +0300 (EEST) From: Narvi <narvi@haldjas.folklore.ee> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: "Matthew N. Dodd" <mdodd@freebsd.org> Subject: Re: Preliminary ELF prebinding patches available. Message-ID: <20030526125208.K40030-100000@haldjas.folklore.ee> In-Reply-To: <20030525222955.GA826@athlon.pn.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030526125208.K40030-100000>