[devel] Re: rpmelfsym
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Сен 13 19:49:49 MSD 2005
On Tue, Sep 13, 2005 at 06:37:45PM +0400, Dmitry V. Levin wrote:
> > Есть какие-нибудь идеи?
> См. postfix-lorder.sh в postfix-*.src.rpm
Спасибо. Там `nm -g' используется, он для dynamic/shared ничего не
показывает. Это вроде как только для *.a архивов. На всякий случай,
какие символы бывают:
$ find /bin /usr/bin /lib /usr/lib -type f -maxdepth 1 |file -f - |awk -F': +' '$2~/ELF.*(dynamic|shared)/{print$1}' |xargs nm -D |awk 'NF>1{print NF-1,$(NF-1)}' |sort |uniq -c |sort -n
25 2 a
54 1 v
5864 1 w
6488 2 R
9310 2 A
24821 2 D
27751 2 B
38616 2 V
65737 2 W
236795 1 U
359673 2 T
$
Там используется [TDGR] для "globally defined symbols". Как видим,
G у нас вообще нет, а вот B (BSS -- глобальные переменные без
инициализаторов, которые инициализируются нулями при загрузке) очень
даже есть.
А также видно, что на "левых" символах сэкономить не удастся, потому
T и U в сумме (как и по отдельности) далеко оставляют позади всё остальное.
Зато "буквы" не "пересекаются" по наличию или отсутствию адреса.
То есть отдельное поле в дампе для "есть адрес/нет адреса" не нужно.
Наверное, это банальная истина, но вот я её с понтом проверил.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20050913/e37c89e6/attachment-0001.bin>
Подробная информация о списке рассылки Devel