Skip to contentSkip to conversation

kernel/module compiler version problem

DISCUSSION Chris Friesen 4 participants 6 messages Jun 11, 2004 – Jun 13, 2004

lore
Share & tools
lore
#0 lore raw

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.

Thanks,

Chris

#1 lore raw
Quoted 4 lines · Chris Friesen

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.

Go ask the people who provided you the binary blob, sorry but no one here can help you with this issue.

good luck,

greg k-h

#2 lore raw
Quoted 9 lines · Greg KH
Quoted 3 lines · Chris Friesen

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

Quoted 1 line

shim.

Go ask the people who provided you the binary blob, sorry but no one here can help you with this issue.

Heh...how did I know that was coming...

I realize I can't reasonably ask here about problems if things blow up. I was actually more interested in exactly what the conflicts were between a binary chunk compiled with gcc2 linked with source compiled with gcc3 and loaded into a kernel compiled with gcc3.

I had hoped some of the modutils people might respond, since they obviously know of some issues.

Chris

#3 lore raw
In reply to Chris Friesen
Quoted 9 lines · Chris Friesen

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."

Quoted 6 lines

Presumably the binary blob was compiled with gcc 2.x? Is there any way to override this? "insmod -f" doesn't seem to work.

Thanks,

Chris

Get a new blob from the blob vendor. Of course you may have just installed a worm....

Cheers,
Dick Johnson
Penguin : Linux version 2.4.26 on an i686 machine (5570.56 BogoMips).
Note 96.31% of all statistics are fiction.

#4 lore raw
Quoted 2 lines · Richard B. Johnson

Get a new blob from the blob vendor. Of course you may have just installed a worm....

Ya, I know, new blob is next on the agenda. Unfortunately our older ATM cards (which did have open drivers) went end-of-life, and I didn't get to pick the new hardware. I'm stuck with it, there's no open-source driver available, and I don't have the time to write one.

Chris

#5 lore raw
In reply to Chris Friesen
Quoted 11 lines · Chris Friesen

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."