Release 2.26 - Next week ?
Alan Modra
amodra@gmail.com
Wed Jan 13 06:18:00 GMT 2016
On Tue, Jan 12, 2016 at 09:08:33PM -0800, H.J. Lu wrote:
> Is __crc_TOC exported? If not, should it be exported? Is it referenced
> by kernel modules? If not, why does it matter?
When CONFIG_MODVERSONS is enabled, kernel symbols exported for modules
have an associated CRC. As part of the kernel build process,
__crc_<symbol> is used to set up a "__versions" section containing a
table of (CRC,symbol) pairs. Without __crc_TOC. present, no
__versions entry is set up for ".TOC.", and so modules that reference
".TOC." fail the CRC check that is supposed to ensure that a module
matches the running kernel.
Arguably, it is a kernel bug for __crc_TOC. to be undefined and of
value zero, but that's beside the point. The kernel build process
worked before, and as PR19421 illustrates the mere presense of an
undefined symbol conveys information. Removing them may break more
than just the ppc64le Linux kernel with CONFIG_MODVERSIONS on and
CONFIG_RELOCATABLE off.
The important question is: Was PR4317 just cosmetic?
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list