Release 2.26 - Next week ?

H.J. Lu hjl.tools@gmail.com
Wed Jan 13 13:26:00 GMT 2016


On Tue, Jan 12, 2016 at 10:18 PM, Alan Modra <amodra@gmail.com> wrote:
> 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.

My x86-64 kernel has

# CONFIG_MODVERSIONS is not set
CONFIG_RELOCATABLE=y

Will I see the problem if I turn on CONFIG_MODVERSIONS and turn
off CONFIG_RELOCATABLE?

> The important question is:  Was PR4317 just cosmetic?
>

I don't remember what triggered me to open the bug.

-- 
H.J.



More information about the Binutils mailing list