Module Versioning Problems

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 15 Sep 96 21:56 BST


We have a nasty module version bug at the moment as genksyms version ids
for SMP and uniprocessor kernels match but the code doesnt work from
one to the other (in fact getting it wrong can lose you things like
file systems).

Currently we use

#ifdef MODVERSIONS
#undef CONFIG_MODVERSIONS
#define CONFIG_MODVERSIONS
#ifndef _set_ver
#define _set_ver(sym,vers) sym ## _R ## vers
#endif

Am I right in thinking I can do this... and if so would the modules folks
care to confirm it and submit the change to Linus

#ifdef MODVERSIONS
#undef CONFIG_MODVERSIONS
#define CONFIG_MODVERSIONS
#ifndef _set_ver
#ifdef __SMP__ /* SMP machine */
/* Generate symbol_S0123456 */
#define _set_ver(sym,vers) sym ## _S ## vers
#else
/* Generate symbol_R0123456 */
#define _set_ver(sym,vers) sym ## _R ## vers
#endif /* SMP */
#endif /* _set_ver */