On Thu, 23 Jun 2005, Ben Stern wrote:

static is your friend.

Hint: it means something different for functions than it does for variables.

static makes the symbols local, but what does that mean? Does that mean
they will only be visible until the 'final link', and not thereafter? A
quick experiment reveals that local symbols aren't visible with nm -D,
which is what I was after, I guess; but why does the resulting shared
object still have static symbols (including local ones), unless stripped?
It seems that libc.so et al aren't stripped... is this to permit static
linking against libc without providing a separate .a version of the
library? There's still one there, so I guess not...

I guess a better question would be: what can I read to learn all about the
wet, messy guts of linking and object file formats? :-)

                       Alexey

Reply via email to