> Do you have any references for this, so I can see exactly 
> what it means?
> 
> If it just means that if you build an executable image (or 
> shared library), linking it with library A, and library A is 
> a shared that is linked with library B, and if the executable 
> image is *not* linked with library B when you build it, if 
> the image refers to routines in library B those references 
> will *not* be treated as resolved by virtue of library B 
> being dragged in by library B, that doesn't appear to break 
> the scenario I describe.

This comes from reading the NetBSD 'pkgsrc' mailing list,
where some packages are failing to build with newer versions
of 'gld'. The 'solution' (which isn't really one) is a
linker option to copy DT_NEEDED entries from refernced
libraries into the program image.

> > This breaks many things!
> 
> Does it, in particular, break the scenario I describe?

If I misunderstood your senario, maybe not!

But consider something like:

I have an old product 'A' that is releases liba.so.
I now write a new product 'B' that shares quite a
lot of code with product 'A', so i generate a libab.so
containing the common parts, and build liba.so with
a DT_NEEDED entry for libab.so (and build libb.so).
I would like existing program binaries and makefiles
to still work unchanged.

        David



-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.

Reply via email to