tech-pkg archive

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

Re: CVS commit: pkgsrc/graphics/xzgv



On Fri, Dec 30, 2011 at 03:55:34PM +0100, Joerg Sonnenberger wrote:
> On Fri, Dec 16, 2011 at 02:29:16PM +0000, David Holland wrote:
> > On Fri, Dec 16, 2011 at 10:37:07AM +0100, John Marino wrote:
> >  > > Do I understand correctly:
> > 
> >  > > The package is using functions from libm and libX11 directly, but
> >  > > is not linking against either.
> >  > > 
> >  > > Previously (before ld 2.22), this worked because the libraries
> >  > > are pulled indirectly.
> >  > > ld 2.22 changed this behaviour.
> >  > > 
> >  > > If that's the case, your changes are fine with me.
> >  > 
> >  > 
> >  > Yes, that's my understanding of the situation.
> >  > [...]
> >  > With the default setting however the searching of dynamic
> >  > libraries that follow it will stop with the dynamic library itself. No
> >  > DT_NEEDED links will be traversed to resolve symbols.
> > 
> > That is a good thing, so let's go ahead and fix.
> 
> I disagree that it is a good thing, more importantly, it is pretty
> pointless, since the binding isn't static anyway.

If they wanted to allow a shared library to use symbols from another
library without making the symbols (from the second library) visible
to the program, then they should have used another keyword - Not DT_NEEDED.
But the GNU folks have a mind of their own (by the sound of it).
 
> > (My concern from an implementation standpoint though: if a
> > corresponding change is not also made in the dynamic linker for when
> > it re-resolves symbols at runtime, this will open the way for some
> > really weird problems.)
> 
> As I wrote earlier, the problem is that can slow down runtime symbol
> lookup, e.g. it is conter productive. It strongly looks like yet another
> attempt by the GNU folks to change the specs of ELF uniliterally.

Reducing the number of libraries in the global name-space should speed up
symbol lookup - except that problem is better resolved by putting all
the symbols into a single data structure.
(And some minor changes to the parameters used to generate the symbol
table to make it more likely to have emtpy hash lists and to align and
pad the string table so that 'word' matches can be used.)

        David

-- 
David Laight: david%l8s.co.uk@localhost


Home | Main Index | Thread Index | Old Index