From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.17-14.0smp i686; en-US; 0.8.1) Gecko/20010222 .../include/rhconfig.h tries to guess whether the current kernel is SMP or UP. Accordingly, the module name mangling prefix get set to "smp" or is left empty. However, if the kernel has been compiled with CONFIG_2GB=y, the prefix should be "smp2gig" or "2gig" (SMP/UP). Otherwise newly compiled modules (OSS/vmware/..) won't work on this kernel. Reproducible: Always Steps to Reproduce: 0. run a 2.2.17-14 kernel recompiled with CONFIG_2GB=y 1.cat > testmod.c #include <linux/kernel.h> #include <linux/module.h> #if CONFIG_MODVERSIONS==1 #define MODVERSIONS #include <linux/modversions.h> #endif int init_module() { printk("Hello, world - this is the kernel speaking\n"); return 0; } void cleanup_module() { printk("Short is the life of a kernel module\n"); } 2.gcc -D__KERNEL__ -DMODULE -c testmod.c -o testmod.o 3.sudo insmod ./testmod.o 4.sudo grep printk_ /proc/ksyms Actual Results: sudo insmod ./testmod.o ./testmod.o: unresolved symbol printk_Rsmp1b7d4074 sudo grep printk_ /proc/ksyms 80117f98 printk_Rsmp2gig1b7d4074 Expected Results: the function printk() should have been mangled to printk_Rsmp2gig1b7d4074. Prefix "smp2gig" instead of the "smp" it actually got. uname -a Linux asis-w2 2.2.17-14.0smp #1 SMP Fri Feb 16 15:06:14 CET 2001 i686 unknown kernel-2.2.17-14 recompiled with the RH spec file, just changed the relevant config option. Probably the "initscripts" package would have to be changed since it is actually responsible for creating /boot/kernel.h which in turn is used by .../linux/rhconfig.h
While we added this convention for the 2.4 kernel, we will not be retrofitting it to the 2.2 kernel at this time.