Suppose we have a shared library named libtest.so, there is one function "foo" in it
use the strip to discards all symbols from libtest.so
$strip libtest.so
so ,now if we use:
$nm libtest.so
it will print out:
nm: libtest.so: no symbols
but if we use :
$readelf -s libtest.so
foo function still can be seen from its result:
...
10: 000005dc 5 FUNC GLOBAL DEFAULT 12 _Z3foov
...
we also can use command strings to check it:
$strings libtest.so
...
_Z3foov
...
here is my question ,why nm give no result for striped libtest.so?
Thanks