non-versioned module symbols

From: David S. Miller
Date: Thu Oct 06 2005 - 02:17:10 EST



Is there a way to get specific module symbols to be
non-versioned in current 2.6.x?

The case I need it for is _mcount calls generated by the
"-pg" option to the build. We can't rewrite the symbol
reference using cpp magic since GCC generates this call
internally.

It was EXPORT_SYMBOL_NOVERS() in 2.4.x, but somewhere along
the line that facility got deleted and the _mcount export
in arch/sparc64/kernel/sparc64_ksyms.c got changed to a
plain EXPORT_SYMBOL() which does not work:

*** Warning: "_mcount" [sound/sparc/snd-sun-cs4231.ko] undefined!
*** Warning: "_mcount" [sound/soundcore.ko] undefined!
*** Warning: "_mcount" [sound/pci/ali5451/snd-ali5451.ko] undefined!
...

etc.

Yes, I can turn MODVERSIONS off while I do this debugging.
But I don't consider that a full solution.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/