On Mon, 15 Apr 2002 16:21:10 +0200 (MET DST), "Maciej W. Rozycki" <macro@ds2.pg.gda.pl> wrote: >On Sat, 13 Apr 2002, Keith Owens wrote: > >> The rules for stripping a module are "unusual". Some symbols have to >> be kept even if they are static, because even static symbols can be >> exported. The combination of strip -g to remove all debugging data > > Hmm, that looks weird to me. If exporting static symbols is permitted, >shouldn't the symbols be marked global by EXPORT_SYMBOL() then? Exporting static symbols has always been allowed. Exported symbols are the module equivalent of lazy binding, which is logically no different from passing the address of a static symbol via a structure to a registration function. In either case the static symbol can be accessed from outside the object, without being marked as global.