[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: question regarding prelinking (was: (inc. note from dpkg developers) (was: Bug#XXXXXX: (far too many packages) needs rebuilt for prelinking))



Brian,
    Yes that the prelinking will be silently ignored and everything
will still work, just with the relocations being resolved the old
fashioned way. Packaging prelinked binaries would gain you nothing
since the prelinking on all of them would be ignored. Basically
prelinking is pre-resolving the relocations of a particular set of
binaries/shared libraries on a machine and storing that in the them so
the dynamic loader doesn't have to deal with any relocations at
load time. Without prelinking, the current glibc's combreloc has
helped reduce this problem by caching the relocations however prelink
eliminates the relocations altogether. Actually I should caveat that.
Prelinking eliminates relocations from libraries directly linked into
the binaries. It doesn't eliminate relocations that occur when a program
manually loads a dynamic library itself.   
                                         Jack
ps In case anyone is interested I did some benchmarks of the effect
that combreloc and prelink both have on time spent in the dynamic loader
a year ago with one of the qt demo programs and a patched glibc 2.2.5.

http://sources.redhat.com/ml/libc-alpha/2001-10/msg00129.html

Basically, compared to no-combreloc and no-prelinking, addition of
combreloc reduces time spent in the dynamic loader by 85% and
prelinking reduces it by 99%. Of course this was with early alpha
prelinking code in glibc 2.2.5 so it could even be better now.



Reply to: