This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Release 2.26 - Next week ?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]