module compiler version check still needed?
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
-Andi
Quoted 5 lines · Andi Kleen (on Sun, 13 Aug 2006 06:48:36 +0200) wrote:
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
IA64 still needs the check. include/asm-ia64/spinlock.h generates different calls to the out of line spinlock handler, depending on the version of gcc.
Quoted 10 lines · Keith Owens
Quoted 5 lines · Andi Kleen (on Sun, 13 Aug 2006 06:48:36 +0200) wrote:
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
IA64 still needs the check.
include/asm-ia64/spinlock.hgenerates different calls to the out of line spinlock handler, depending on the version of gcc.
Thanks. But I guess it could be used to MODULE_ARCH_VERMAGIC for ia64 only then. If nobody else complains I will do that.
-Andi
Quoted 8 lines · Andi Kleen
Quoted 7 lines · Keith Owens
Quoted 5 lines · Andi Kleen (on Sun, 13 Aug 2006 06:48:36 +0200) wrote:
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
Quoted 6 lines
Quoted 3 lines
IA64 still needs the check.
include/asm-ia64/spinlock.hgenerates different calls to the out of line spinlock handler, depending on the version of gcc.Thanks. But I guess it could be used to
MODULE_ARCH_VERMAGICfor ia64 only then. If nobody else complains I will do that.
People might not complain until this is for some time in a released kernel.
Why don't you check yourself?
grep -r __GNUC__ *
grep -r cc-version *
There are over 100 results, but it's easy to spot the few requiring a deeper look.
Quoted 1 line
-Andi
cu
Adrian
Signature · 6 lines
Gentoo kernels are 42 times more popular than SUSE kernels among
KLive users (a service by SUSE contractor Andrea Arcangeli that
gathers data about kernels from many users worldwide).
There are three kinds of lies: Lies, Damn Lies, and Statistics.
Benjamin DisraeliQuoted 7 lines · Andi Kleen
Quoted 3 lines · Keith Owens
IA64 still needs the check.
include/asm-ia64/spinlock.hgenerates different calls to the out of line spinlock handler, depending on the version of gcc.Thanks. But I guess it could be used to
MODULE_ARCH_VERMAGICfor ia64 only then. If nobody else complains I will do that.
Will we remember to add the check back in when we introduce new dependencies on compiler versions?
Quoted 11 lines · Matthew Wilcox
Quoted 7 lines · Andi Kleen
Quoted 3 lines · Keith Owens
IA64 still needs the check.
include/asm-ia64/spinlock.hgenerates different calls to the out of line spinlock handler, depending on the version of gcc.Thanks. But I guess it could be used to
MODULE_ARCH_VERMAGICfor ia64 only then. If nobody else complains I will do that.Will we remember to add the check back in when we introduce new dependencies on compiler versions?
If something breaks it be readded. I see it only as a special hack for some extraordinary, and hopefully these problems won't happen again.
-Andi
Quoted 6 lines · Andi Kleen
Quoted 3 lines
Will we remember to add the check back in when we introduce new dependencies on compiler versions?
If something breaks it be readded. I see it only as a special hack for some extraordinary, and hopefully these problems won't happen again.
What we should add should be some kind of cabability mask. There is no need to require that modules are built with exactly the same compiler as the kernel when it is only a very few compiler versions that causes layout/ABI differences.
Sam
Quoted 8 lines · Sam Ravnborg
Quoted 6 lines · Andi Kleen
Quoted 3 lines
Will we remember to add the check back in when we introduce new dependencies on compiler versions?
If something breaks it be readded. I see it only as a special hack for some extraordinary, and hopefully these problems won't happen again.
What we should add should be some kind of cabability mask.
It would be probably overkill.
Quoted 3 lines
There is no need to require that modules are built with exactly the same compiler as the kernel when it is only a very few compiler versions that causes layout/ABI differences.
On i386/x86-64 that's not the case anymore as far as I know.
-Andi
Quoted 4 lines · Andi Kleen
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
is there any harm in doing this check? Checking this for sure rules out MANY nasty and really hard to debug corner cases... and there shouldn't be any valid reason for doing this ever anyway...
Quoted 7 lines · Arjan van de Ven
Quoted 4 lines · Andi Kleen
Does anybody know of any reason why we would still need the compiler version check during module loading? AFAIK on i386 it was only needed to handle 2.95 (which got dropped) and on x86-64 it was never needed. Is there a need on any other architecture for it?
is there any harm in doing this check?
Yes, it can cause lots of trouble when you try to compile external modules on a different system with different compiler than on the system where the kernel was compiled.
e.g. you upgrade a distribution kernel but now you can compile modules for it because the new rpm was compiled with a newer compiler.
Happens to me regularly.
-Andi
Quoted 6 lines · Andi Kleen
...
e.g. you upgrade a distribution kernel but now you can compile modules for it because the new rpm was compiled with a newer compiler.Happens to me regularly.
Regularly means once a year?
Quoted 1 line
-Andi
cu
Adrian
Signature · 6 lines
Gentoo kernels are 42 times more popular than SUSE kernels among
KLive users (a service by SUSE contractor Andrea Arcangeli that
gathers data about kernels from many users worldwide).
There are three kinds of lies: Lies, Damn Lies, and Statistics.
Benjamin Disraeli