This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: prelink two step


On Tue, Feb 18, 2003 at 08:38:21PM +1100, Antony Suter wrote:
> 
> If there is a more appropriate place to discuss prelink, please let me
> know.
> 
> I am trying out prelink, however on some binaries it will fall into an
> infinite recursive loop pattern. It is a two step cycle of prelink_ent()
> in doit.c at line 58. For eg. the two libraries that keep checking each
> other are /usr/lib/libgpm.so.1 and /lib/libncurses.so.5
> 
> Doesn't prelink normally cater for this type of situation?

Do you mean that libgpm.so.1 has DT_NEEDED libncurses.so.5 and
libncurses.so.5 has DT_NEEDED libgpm.so.1?
prelink doesn't handle that. I haven't ever seen something like this and
handling it would complicate the code too much (prelink handles a library
at a time, dependency loop would mean it would have to work on a bunch of
libraries at once).
What I can add is just loop detection and don't prelink the libraries
which have the loop.
If two libraries depend on each other, it is fun to build them, isn't it?
Furthermore, there is the question whether they shouldn't be merged into one
library...

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]