Everything linking with readline

Elrond elrond at samba-tng.org
Sat Apr 14 12:37:31 GMT 2001


On Thu, Apr 12, 2001 at 09:15:52AM +1000, Tim Potter wrote:
[...]
> I think it's a linker bug if an executable doesn't use any
> symbols from a library but still has it in the load list.

My experience is, that AIX is the only OS, that does it
that way... no idea why.

One possible idea might be:

If you link against a library you might link against it to
provide symbols to dlopened objects, you load later.

Of course the dlopened object should have a correct link
against that library.
But on the one side, the dynamic linker in some OSes
doesn't support recursive loading of shared objects (a
dlopened b, which in turn depends on c, which depends on d,
all to be loaded). On the other side, it might be easier
that way.

AIX copes with the recursive dependency problem in two
ways:

a) the dynamic linker supports recursive linking properly.
b) While compiling/linking no unresolved references are
   allowed (in the normal case), so you have to provide all
   needed libs.

The last point allows AIX to drop unneeded links, in case
my above reason is the relevant one.

Someone might ask the GNU binutils guys, why they didn't at
least include a warning, that a library was not used.

(Irix does the warning)


    Elrond




More information about the samba-technical mailing list