2011/4/30 Cristian Rodríguez <crrodriguez@opensuse.org>:
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@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org