Re: [PATCH] Check compiler version, SMP and PREEMPT.

Kai Germaschewski (kai@tp1.ruhr-uni-bochum.de)
Mon, 13 Jan 2003 09:48:12 -0600 (CST)


On Mon, 13 Jan 2003, Rusty Russell wrote:

> I've only updated the x86 linker script, since the other archs'
> compile will break as soon as they set CONFIG_MODULES=y (there are 40
> linker scripts in the tree, and I don't want to patch them all again).
>
> You now get:
> ext2: version magic 'non-SMP,preempt,gcc-2.95' != kernel 'SMP,preempt,gcc-2.95'

I mostly agree with this, in particular since I've been planning to
reimplement module version checking (not modversions, though that's on the
list, too) for some time now.

My plan was to first of all use the normal version string ("2.5.55-preX")
and add letters for the critical config options, like "S" for SMP, "P" for
preempt and so on. However, following this discussion, I suppose using
entire words like "SMP", "preempt" etc is clearer and nobody cares about
saving 10 bytes in vmlinux.

I think it may, as kaos pointed out, also be necessary to allow for
architecture specific config options, like the processor type.

The implementation I have in mind would not generate the special section
with that string inside a header but rather add it during the "ld -o
module.ko" step (one of the reasons why I introduced that), in order to
avoid unnecessary recompiles when e.g. the version changes from "-preN" to
"-preN+1", which was a major concern people had with the old module
version string.

Do you agree on doing it that way?

--Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/