Timur Tabi wrote:
Before compiling usesexport.ko, try loading providesexport.ko. The warning should go away.
Looks like loading the providesexport.ko before the compile does not remove the warning.
When I load the module providesexport.ko I see this in /var/log/messages
Apr 19 11:08:39 amd kernel: Provider loaded, exported symbol available.
When I cat /proc/kallsyms I get
ffffffff8824b080 r __ksymtab_some_exported_symbol [providesexport] ffffffff8824b090 r __kstrtab_some_exported_symbol [providesexport] ffffffff8824b0a8 r __kcrctab_some_exported_symbol [providesexport] ffffffff8824b030 t some_exported_symbol [providesexport] 000000006fd120ab a __crc_some_exported_symbol [providesexport]
So the symbol is available, but with the module loaded I still get the same warning when
compiling the module that depends on the exported symbol.
make -C /lib/modules/2.6.11-1.14_FC3/build M=/home/tony/learnexport/user modules
make[1]: Entering directory `/lib/modules/2.6.11-1.14_FC3/build'
CC [M] /home/tony/learnexport/user/user.o
LD [M] /home/tony/learnexport/user/usesexport.o
Building modules, stage 2.
MODPOST
*** Warning: "some_exported_symbol" [/home/tony/learnexport/user/usesexport.ko] undefined!
CC /home/tony/learnexport/user/usesexport.mod.o
LD [M] /home/tony/learnexport/user/usesexport.ko
make[1]: Leaving directory `/lib/modules/2.6.11-1.14_FC3/build'
Any other ideas? The 3rd edition of Linux Device Drivers does not cover this as
does the other 2 other kernel books I have. At least as I haven't found it in the
books anyway.
Thanks! Tony
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/