[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