Mailinglist Archive: opensuse-packaging (192 mails)

< Previous Next >
Re: [opensuse-packaging] What is an "undefined-non-weak-symbol" and how is it fixed?
  • From: Cristian Morales Vega <cmorve69@xxxxxxxx>
  • Date: Sat, 30 Apr 2011 02:37:30 +0200
  • Message-id: <BANLkTinmZotw+4D190Uq2N8KE=rDkfDV9Q@mail.gmail.com>
2011/4/30 Cristian Rodríguez <crrodriguez@xxxxxxxxxxxx>:
El 29/04/11 19:51, Cristian Morales Vega escribió:

OK I'm sleepy, but I also were when I wrote the other message :-p
I'm wrong or --[no-]copy-dt-needed-entries has no effect at all when
creating shared libraries?

"This option also has an effect on the resolution of symbols in dynamic
libraries. With the default setting dynamic libraries mentioned on the
command line will be recursively searched, following their DT_NEEDED
tags to other libraries, in order to resolve symbols required by the
output binary. With --no-copy-dt-needed-entries specified 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."

When it says "This option also has an effect on the resolution of
symbols in dynamic libraries" I understand it means in the "-lxxx"
entries when creating a binary. And the symbol resolution it talks
about would be at link time, not load time. So would have no effect on
the creation of shared libraries.

If so, I would be against it. What are we
going to win?

Less magic behaviour.

Binary compatibility with fedora,debian and ubuntu,removing or adding
NEEDED entries count as a ABI change to me at least =)

But when are NEEDED entries going to be removed/added? Without
--no-copy-dt-needed-entries binaries will have all the needed entries,
with --no-copy-dt-needed-entries binaries will fail to build... until
you fix them, and when fixed the NEEDED entries will be the same than
before using --no-copy-dt-needed-entries.
And shared libraries will always have only the NEEDED entries
explicitly added, no more no less.

From the examples given in my previous email: foo1 always will have
NEEDED for foo2.so and foo3.so, and foo1.so always will have the
NEEDED for foo2.so but will miss the one for foo3.so.
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-packaging+help@xxxxxxxxxxxx

< Previous Next >