Skip site navigation (1)Skip section navigation (2)
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>