On Sun, Feb 26, 2012 at 9:13 AM, Thomas Jacob jacob@internet24.de wrote:
Hello list,
While working on building a driver update module RPM for CentOS 6 x86_64 I noticed that that the Module.symvers file included in the non-debug kernel-devels for the latest CentOS-Plus x86_64 kernels seems to be much shorter than that for the debug version and also than both version for the i686 architecture
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.4.2.el6.i686/Module.symvers | sort | uniq -c 6124 EXPORT_SYMBOL 3706 EXPORT_SYMBOL_GPL
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.4.2.el6.i686.debug/Module.symvers | sort | uniq -c 6177 EXPORT_SYMBOL 3734 EXPORT_SYMBOL_GPL
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.4.2.el6.x86_64/Module.symvers | sort | uniq -c *2716 EXPORT_SYMBOL* *1957 EXPORT_SYMBOL_GPL*
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.4.2.el6.x86_64.debug/Module.symvers | sort | uniq -c 6147 EXPORT_SYMBOL 3916 EXPORT_SYMBOL_GPL
This prevents the find find-requires.ksyms script (part of the %kernel_module_package utility set) from creating KABI dependencies properly on x86_64, for kernel module packages build according RHEL driver update program (i.e. kmod-* package), in the sense that they are build without any KABI-requires in the resulting kmod-RPM.
The standard CentOS kernel-devel (presumably RHEL upstream?) however, contains similar numbers of symbols in Module.symvers also in the x86_64 architecture:
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.el6.i686/Module.symvers | sort | uniq -c 6119 EXPORT_SYMBOL 3706 EXPORT_SYMBOL_GPL
$ awk '{print $4;}' /usr/src/kernels/2.6.32-220.el6.x86_64/Module.symvers | sort | uniq -c 6089 EXPORT_SYMBOL 3888 EXPORT_SYMBOL_GPL
Could anyone confirm whether or not this is by design? Or should I report this as a bug?
By all means, please file a bug report. This is certainly not by design. :-(
Akemi