nm vs «readelf -s»

Предположим, у нас есть разделяемая библиотека с именем libtest.so, в ней есть одна функция "foo"

используйте полосу для отбрасывания все символы из libtest.so

$strip libtest.so

поэтому, теперь, если мы используем :

$nm libtest.so

, он распечатает:

nm:libtest.so:без символов

, но если мы используем:

$readelf -s libtest.so 

функцию foo по-прежнему видно из его результата:

...

10:000005dc 5 FUNC GLOBAL DEFAULT 12 _Z3foov

...

мы также можем использовать командные строки для проверки:

$strings libtest.so

...

_Z3foov

...

вот мой вопрос, почему nm не дает результата для полосатого libtest.so?

Спасибо

35
задан camino 1 April 2012 в 02:36
поделиться