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?
TIA & Regards,
Thomas