Re: kernel/module compiler version problem

From: Keith Owens
Date: Sun Jun 13 2004 - 01:39:40 EST


On Fri, 11 Jun 2004 15:16:00 -0400,
Chris Friesen <cfriesen@xxxxxxxxxxxxxxxxxx> wrote:
>I'm running 2.4.22, build with gcc 3.3.1, modutils 2.4.22.
>
>I have an ATM driver that is shipped with a binary blob and a source code shim.
> It compiles fine. When I go to load it, I get the following error:
>
>"The module you are trying to load is compiled with a gcc
>version 2 compiler, while the kernel you are running is compiled with
>a gcc version 3 compiler. This is known to not work."
>
>Presumably the binary blob was compiled with gcc 2.x? Is there any way to
>override this? "insmod -f" doesn't seem to work.

That patch originally came from RedHat, and was included in modutils
2.4.22. From RH Bugzilla 73732.

"The insmod in Red Hat Linux 8.0 looks for modules and kernels which do
not have a matching gcc version. This is done because both the base and
the Red Hat kernel ABI for gcc 2 and gcc 3 built kernels are not the
same. This is due to workarounds for old (egcs) compiler bugs which
change the padding in kernel data structures.

Other vendors using gcc 3 series compilers received many strange bug
reports that turned out to be gcc 2 and gcc 3 module mixups. We saw the
same problems and verified the cause in our earlier beta releases. In
order to assist our customers Red Hat extended insmod to detect the
problem case and display an error message."

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