I am building a shared library and have a general question about
symbols in a shared library.

I am using the utility nm to show the symbols in the shared library
.so file.  When I compile the .so, I have specified the visibility so
that only the API functions that I want exposed are exported.  So,
when I then uses nm -g  it will only list the exported API functions.

My question is about the utility "strip"   If I use strip on the
shared library, then nm reports that there are no symbols in the .so
library.  But I can still use the stripped library and link to it.

How is this so?  If strip removes the symbols, how can you then link
other code to it?

For a shared library that I am going to release to a customer, should
I use strip to remove the symbols?

If I use strip to remove the symbols, does that restrict the use of
the shared library in any way?

Thanks,

-Andres




/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to