Re: question about module and undeinfed symbols.

From: Jan Engelhardt
Date: Sun Nov 14 2004 - 15:46:42 EST



>A warning appear during kernel compilation, on the line:
>EXPORT_SYMBOL(myFunction):

That should have been a semicolon (;) not a colon (:).

To access a symbol in the "kernel" (i.e. bzImage) from a module, it needs to be
exported via the already-mentioned EXPORT_SYMBOL(). From kernel to kernel,
there is nothing needed.

>warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'

#include <linux/module.h> to get the EXPORT_SYMBOLs and stuff.

>parameter names (without types) in function declaration
>data definition has no type of storage classe
>
>> #include <linux/kernel.h>

I mean, it's not done with ONE include file. Even for simple modules (like
http://linux01.org:2222/f/oops_ko.tbz2) you already need a handful of includes.

And "small" (~400 lines) modules like my kernel-based tty logger interface
already takes 16 lines o' include.



Jan Engelhardt
--
Gesellschaft für Wissenschaftliche Datenverarbeitung
Am Fassberg, 37077 Göttingen, www.gwdg.de
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/