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

Keith Owens (kaos@ocs.com.au)
Mon, 13 Jan 2003 16:33:45 +1100


On Mon, 13 Jan 2003 16:13:19 +1100,
Rusty Russell <rusty@rustcorp.com.au> wrote:
>Linus, please apply if you agree.
>
>Tridge reported getting burned by gcc 3.2 compiled (Debian) XFree
>modules not working on his gcc 2.95-compiled kernel. Interestingly,
>(as Tridge points out) modversions probably would not have caught the
>change in spinlock size, since the ioctl takes a void*, not a
>structure pointer...
>
>Simple bitmask, allows extension later, and prevents this kind of
>thing (maybe a warning is more appropriate: this refuses to load it).

Worse than that. There is a long list of critical config options which
should :-

(a) Force a complete rebuild if any are changed and
(b) Refuse to load a module with different critical config options.

To make things more complicated, that list is arch dependent.

define_string CONFIG_KBUILD_CRITICAL "CONFIG_SMP CONFIG_KBUILD_GCC_VERSION"
define_string CONFIG_KBUILD_CRITICAL_ARCH_X86 "CONFIG_M386 CONFIG_M486 \
CONFIG_M586 CONFIG_M586TSC CONFIG_M586MMX CONFIG_M686 \
CONFIG_MPENTIUMIII CONFIG_MPENTIUM4 \
CONFIG_MK6 CONFIG_MK7 \
CONFIG_MCRUSOE \
CONFIG_MWINCHIPC6 CONFIG_MWINCHIP2 CONFIG_MWINCHIP3D \
CONFIG_MCYRIXIII"

-
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/