binary compatibity (mixing different gcc versions) in modules

From: Emmanuel Michon (emmanuel_michon@realmagic.fr)
Date: Mon Jun 17 2002 - 07:36:25 EST


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/



This archive was generated by hypermail 2b29 : Sun Jun 23 2002 - 22:00:13 EST