[devel] Re: rpmelfsym [2]

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Окт 1 07:05:57 MSD 2005


On Sun, Sep 18, 2005 at 12:45:20AM +0400, Alexey Tourbin wrote:
> Теперь следите за моей логикой.  Буковки, которые имеют адрес,
> складываем в кучку provides.  Остальные буковки по смыслу ложатся в
> кучку requires.  Далее нужно сравнивнить эти две кучки: символы, которые
> есть в кучке requires, но которые отсутствуют в кучке provides, ЗАВЕДОМО
> не могут правильно резольвиться динамическим линкером.

По мотивам изложенного (с небольшими исправлениями) я зарядил робота.
Вот полный список ELF'ов, содержащих символы, которые заведомо не могут
правильно резольвиться динамическим линкером.  Эти пакеты попросту не
могут правильно работать -- они должны падать с диагностикой "undefined
symbol" либо сразу же (особенно с LD_BIND_NOW=1), или в "случайном"
месте через некоторое время работы.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : bad_elfsym.gz
Тип     : application/x-gzip
Размер  : 4227 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20051001/5b849f3c/attachment-0002.bin>
----------- следующая часть -----------
#!/bin/sh -ef

cd "${workdir:?}"
rpmelfsym -ap >sym
sort -o sym -u sym
awk -F'\t' '$3~/[AaBDRTVW]/' sym >def
awk -F'\t' '$3~/[Uv]/#w' sym >ref
sort -t$'\t' -k4,4 -o def def
sort -t$'\t' -k4,4 -o ref ref
join -t$'\t' -v1 -j 4 -o '1.1 1.2 1.3 1.4' ref def
cd -
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20051001/5b849f3c/attachment-0003.bin>


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