linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Kernel module symbol versioning?
@ 2003-08-22 20:43 Kendall Bennett
  2003-08-25 13:03 ` Bas Mevissen
  0 siblings, 1 reply; 2+ messages in thread
From: Kendall Bennett @ 2003-08-22 20:43 UTC (permalink / raw)
  To: linux-kernel

Hi,

I have been reading the book "Linux Device Drivers, 2nd Edition" and have 
some questions about symbol versioning. In Chapter 11 it mentions that 
you can use the <linux/modversions.h> header file to compile your module 
with symbol versions enabled, so that your module will load on multiple 
kernels and fail if the symbol CRC's do not match. I tested this out on a 
simple test module, but this module fails to load unless I pass the '-f' 
flag to insmod (Red Hat 7.3 and 8.0). 

Is there a way to compile the module so that insmod will only complain if 
there is a version conflict? Or do you always have to use -f in this case 
to force the module to load? If you have to do that, will -f still fail 
to load if the versioned symbols don't match?

Regards,

---
Kendall Bennett
Chief Executive Officer
SciTech Software, Inc.
Phone: (530) 894 8400
http://www.scitechsoft.com

~ SciTech SNAP - The future of device driver technology! ~


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Kernel module symbol versioning?
  2003-08-22 20:43 Kernel module symbol versioning? Kendall Bennett
@ 2003-08-25 13:03 ` Bas Mevissen
  0 siblings, 0 replies; 2+ messages in thread
From: Bas Mevissen @ 2003-08-25 13:03 UTC (permalink / raw)
  To: Kendall Bennett; +Cc: linux-kernel

Kendall Bennett wrote:

> Hi,
> 
> I have been reading the book "Linux Device Drivers, 2nd Edition" and have 
> some questions about symbol versioning. In Chapter 11 it mentions that 
> you can use the <linux/modversions.h> header file to compile your module 
> with symbol versions enabled, so that your module will load on multiple 
> kernels and fail if the symbol CRC's do not match. I tested this out on a 
> simple test module, but this module fails to load unless I pass the '-f' 
> flag to insmod (Red Hat 7.3 and 8.0). 
> 
> Is there a way to compile the module so that insmod will only complain if 
> there is a version conflict? Or do you always have to use -f in this case 
> to force the module to load? If you have to do that, will -f still fail 
> to load if the versioned symbols don't match?
> 

Isn't the confict cause here (just) that one is compiled with gcc 2.x 
and the other with gcc 3.x?

In other words, retry compiling this module on one system with the two 
different kernels, as you want to compare kernel source level interface 
  differences and not kernel ABI (Application Binairy Interface IIRC) 
differences.

Regards,

Bas.




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-08-25 13:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-08-22 20:43 Kernel module symbol versioning? Kendall Bennett
2003-08-25 13:03 ` Bas Mevissen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).