[devel] linkage_problems abiword unjoined

Alexey Tourbin at на altlinux.ru
Пн Июл 12 20:19:14 UTC 2010


On Mon, Jul 12, 2010 at 11:17:03PM +0400, Alexey Tourbin wrote:
> Можно усовершенствовать проверку elfsym, добивив "локальные" условия -
> засчитывать разрешимость только по слинкованным библиотекам.  Но это
> сразу открывает a can of wo^W corner cases, начиная с того, что нужно
> ассоциировать файлы и сонеймы (см. warning чуть ниже), и кончая тем,
> что такая проверка будет зарубать недолинкованные плагины, а в схеме
> c -rdynamic executable недолинкованные плагины будут неизбежны (примеры:
> /bin/zsh, /usr/bin/Xorg).  И, кроме того, ELF всё же разрешает
> транзитивное разрешение символов.  И, кроме того, при большом желании
> в ELF можно зашить DT_NEEDED = libc-2.10.so вместо libc.so.6.
> 
> Я уже когда-то рисовал такой скрипт - qa-robot/linkage_problems.
> Жду когда он что-нибудь покажет.  Пока вижу только warnings.

Ну вот например показывает что libabiword-2.8 недолинкован с libX11.

[at на people at]$ fgrep libabiword-2.8 unjoined
abiword /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
abiword /usr/lib64/libabiword-2.8.so    U       XGetModifierMapping
abiword /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
abiword /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
abiword /usr/lib64/libabiword-2.8.so    U       XParseGeometry
abiword-light   /usr/lib64/libabiword-2.8.so    U       XFreeModifiermap
abiword-light   /usr/lib64/libabiword-2.8.so    U	XGetModifierMapping
abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeycodeToKeysym
abiword-light   /usr/lib64/libabiword-2.8.so    U       XKeysymToKeycode
abiword-light   /usr/lib64/libabiword-2.8.so    U       XParseGeometry
[at на people at]$ rpm -qpR /ALT/Sisyphus/files/x86_64/RPMS/abiword-2.8.4-alt1.x86_64.rpm |grep libX
[at на people at]$ 

Как могло получиться, что abiword недолинкован с libX11?
У нас же и в binutils подержка есть "подцепить недостающие библиотеки",
и pkg-config для линковки рекурсивно раскрывает список Libs.

Кстати, интересно тогда, что делать в lib.req, если некоторые символы
разрешаются в библиотеки, не перечисленные в DT_NEEDED.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20100713/d98fbb79/attachment.bin>


Подробная информация о списке рассылки Devel