binary compatibity (mixing different gcc versions) in modules

Emmanuel Michon (emmanuel_michon@realmagic.fr)
17 Jun 2002 14:36:25 +0200


Hi,

looking at nvidia proprietary driver, the makefile warns
the user against insmod'ing a module compiled with a gcc
version different from the one that was used to compile
the kernel.

This sounds strange to me, since I never encountered this
problem.

As a counterpart, what I'm sure of, is that you easily get system
crashes when insmod'ing a module resulting of the linking together
(with ld -r) of object files (.o) that were not produced by the same gcc.

Can someone give me a clue on what happens?

Everything is compiled with:
cc
-O2
-DDEBUG=1
-D__KERNEL__
-DMODULE
-fomit-frame-pointer
-fno-strict-aliasing
-fno-common
-pipe
-mpreferred-stack-boundary=2
-Wno-import
-Wimplicit
-Wmain
-Wreturn-type
-Wswitch
-Wtrigraphs
-Wchar-subscripts
-Wuninitialized
-Wparentheses
-Wpointer-arith
-Wcast-align
-fcheck-new

One gcc is
gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
the other one is 2.95-2.

Would -O1 be a safer choice?

Sincerely yours,

PS. Let's avoid to fall in a open source vs. binary only dialectics
here, it's not really the point ;-)

-- 
Emmanuel Michon
Chef de projet
REALmagic France SAS
Mobile: 0614372733 GPGkeyID: D2997E42  
-
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/