On Fri, Jun 02, 2006 at 06:02:13PM +0400, Dmitry V. Levin wrote: > On Fri, Jun 02, 2006 at 05:54:07PM +0400, Alexey Tourbin wrote: > > On Fri, Jun 02, 2006 at 05:17:57PM +0400, Dmitry V. Levin wrote: > [...] > > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > > > малопригодным на практике. > > > > Нет. Рядовой библиотеке от ld.so ничего не надо. -z,defs таким > > образом -- чрезвычайное полезное изобретение, оно *гарантирует* на > > стадии сборки, что все символы библиотеки разрешаются. С ходу помню, > > что использовал -z,defs в пакетах liblapack и liblua5.1. > > Я тоже использовал в своих библиотеках, но это ещё ничего не значит. > Я далёк от мысли, что мои библиотеки имеют много общего с обычными. "Рядовая" библиотека не должна ничего знать о внутренностях ld-linux.so.2, иначе её нельзя будет загрузить другим динамическим линкером (например из uClibc). И, как мне кажется, большинство библиотек таки ничего не знают о линкере, который будет их загружать. То есть я думаю, что для большинства библиотек -Wl,-z,defs имеет положительный смысл (хотя для публичных библиотек аналогичная проверка типа ldd -r теперь встроена в rpm-build).