[lkml]   [2001]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: Exporting new functions from kernel 2.2.14

I still have not figured out the magic that creates the .ver files which
would resolve your concern with the symbol versions, but I do know that
you can edit the .ver file yourself (under /usr/src/linux/include/modules/)
and add entries. This will eliminate the funny versioning, as in:


You can pick a hash value to use. For example, you might add the following:

#define __ver_grab_timer_interrupt a1b2c3d4
#define grab_timer_interrupt _set_ver(grab_timer_interrupt)

As far as the printk() warning, you need to make sure your module code
includes the right header files. In this case, I believe you need to grab
<linux/kernel.h> after including <linux/module.h>.

I hope this helps.


> -----Original Message-----
> From:
> []On Behalf Of Stephen Wille
> Padnos
> Sent: Tuesday, June 05, 2001 11:55 AM
> To: Linux Kernel
> Subject: Exporting new functions from kernel 2.2.14
> Hello, all.
> I am writing a pseudo-realtime control system, based on kernel 2.2.14.
> The only RT-like task needs to hang off the timer IRQ. I am using
> techniques like those in the book "Linux Kernel Internals", by Beck, et
> al..
> The patches in that book won't apply (they are for 2.1.24 or lower),
> plus I want a somewaht different functionality, which brings me to my
> question: How can I get (modversions-enabled) functions exported from
> arch/i386/kernel/irq.c?
> I see in /proc/ksyms that there are some functions exported from there
> ({enable,disable}_irq, probe_irq_{on,off}, etc.), and they have correct
> looking versions.
> When I add my new finctions to i386ksyms.c:
> EXPORT_SYMBOL(grab_timer_interrupt);
> EXPORT_SYMBOL(release_timer_interrupt);
> I get names like
> grab_timer_interrupt_R__ver_grab_timer_interrupt
> release_timer_interrupt_R__ver_release_timer_interrupt
> instead of
> local_irq_count_R4d40375f
> Additionally, when I make a dummy module (a la Alessandro Rubini's
> "Hello" module in "Linux Device Drivers"), I get the following warning:
> control.c:31: warning: implicit declaration of function
> `printk_R1b7d4074'
> The module seems to work (it printk's "module loaded" on load and
> "module unloaded" on unload), but I suspect that this is because I am
> printk()-ing unformatted text strings - only one parameter gets sent.
> So, I obviously have missed some basics about:
> a) versioning,
> b) exporting symbols, and
> c) modules.
> could soemone please enlighten me, or direct me along the path of
> enlightenment :)
> Thanks
> - Steve
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to
> More majordomo info at
> Please read the FAQ at
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:54    [W:0.074 / U:14.080 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site