public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* EXPORT_SYMBOL question
@ 2005-03-28 11:10 Josef E. Galea
  2005-03-28 11:19 ` Sam Ravnborg
  0 siblings, 1 reply; 3+ messages in thread
From: Josef E. Galea @ 2005-03-28 11:10 UTC (permalink / raw)
  To: linux-kernel

Hi,

I have 2 modules. The first one uses EXPORT_SYMBOL to make some function 
available to other modules. These prototypes for these functions were 
also put in a header file. Now the second module uses the functions the 
functions defined in the first module by and includes the afore 
mentioned header file. However when i'm compiling the module, I get a 
symbol underfined warning. When I load the module it works as expected. 
Is there any way to get rid of these warnings.

Another problem I'm having is that when I load the second module I get 
`no version for "rbnode_initialize" found: kernel tainted.' 
(rbnode_initialize is one of the functions exported by the first 
module). Both MODULE_LICENSE("GPL"); and MODULE_VERSION are declared in 
the two modules. Is there anything I'm missing?

Thanks
Josef Galea

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

* Re: EXPORT_SYMBOL question
  2005-03-28 11:10 EXPORT_SYMBOL question Josef E. Galea
@ 2005-03-28 11:19 ` Sam Ravnborg
  2005-03-28 11:46   ` Josef E. Galea
  0 siblings, 1 reply; 3+ messages in thread
From: Sam Ravnborg @ 2005-03-28 11:19 UTC (permalink / raw)
  To: Josef E. Galea; +Cc: linux-kernel

On Mon, Mar 28, 2005 at 01:10:35PM +0200, Josef E. Galea wrote:
> Hi,
> 
> I have 2 modules. The first one uses EXPORT_SYMBOL to make some function 
> available to other modules. These prototypes for these functions were 
> also put in a header file. Now the second module uses the functions the 
> functions defined in the first module by and includes the afore 
> mentioned header file. However when i'm compiling the module, I get a 
> symbol underfined warning. When I load the module it works as expected. 
> Is there any way to get rid of these warnings.
> 
> Another problem I'm having is that when I load the second module I get 
> `no version for "rbnode_initialize" found: kernel tainted.' 
> (rbnode_initialize is one of the functions exported by the first 
> module). Both MODULE_LICENSE("GPL"); and MODULE_VERSION are declared in 
> the two modules. Is there anything I'm missing?

You need to compile both modules at the same time.
Do something like this for your two modules foo and bar:

modules/Makefile
obj-y := foo/ bar/
modules/foo/	<= Your foo module
modules/bar/	<= Your bar module

Then when building the modules stay in modules/ and
execute:
make -C <path-to-kernel-src> M=`pwd`

And to install modules:
make -C <path-to-kernel-src> M=`pwd` modules_install

	Sam

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

* Re: EXPORT_SYMBOL question
  2005-03-28 11:19 ` Sam Ravnborg
@ 2005-03-28 11:46   ` Josef E. Galea
  0 siblings, 0 replies; 3+ messages in thread
From: Josef E. Galea @ 2005-03-28 11:46 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: linux-kernel

Sam Ravnborg wrote:

>On Mon, Mar 28, 2005 at 01:10:35PM +0200, Josef E. Galea wrote:
>  
>
>>Hi,
>>
>>I have 2 modules. The first one uses EXPORT_SYMBOL to make some function 
>>available to other modules. These prototypes for these functions were 
>>also put in a header file. Now the second module uses the functions the 
>>functions defined in the first module by and includes the afore 
>>mentioned header file. However when i'm compiling the module, I get a 
>>symbol underfined warning. When I load the module it works as expected. 
>>Is there any way to get rid of these warnings.
>>
>>Another problem I'm having is that when I load the second module I get 
>>`no version for "rbnode_initialize" found: kernel tainted.' 
>>(rbnode_initialize is one of the functions exported by the first 
>>module). Both MODULE_LICENSE("GPL"); and MODULE_VERSION are declared in 
>>the two modules. Is there anything I'm missing?
>>    
>>
>
>You need to compile both modules at the same time.
>Do something like this for your two modules foo and bar:
>
>modules/Makefile
>obj-y := foo/ bar/
>modules/foo/	<= Your foo module
>modules/bar/	<= Your bar module
>
>Then when building the modules stay in modules/ and
>execute:
>make -C <path-to-kernel-src> M=`pwd`
>
>And to install modules:
>make -C <path-to-kernel-src> M=`pwd` modules_install
>
>	Sam
>
>  
>
Thanks for your help. That solved both the warnings and the kernel 
tainted message.

Josef

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

end of thread, other threads:[~2005-03-28 11:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-28 11:10 EXPORT_SYMBOL question Josef E. Galea
2005-03-28 11:19 ` Sam Ravnborg
2005-03-28 11:46   ` Josef E. Galea

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox