Exporting symbols from a module.

Anders Peter Fugmann
2001-05-15T18:32:40Z

Hi.

I've got a simple question - how export symbols from one module, and use
them in another.

I have two modules - 'kvaser' and 'can_master'.
'kvaser' exports some functions, and 'can_master' needs to use call
these functions.

I used EXPORT_SYMBOL, and declared the function extern,
but i still get unresolved symbols.

> insmod kvaser.o
> insmod can_master.o
can_master.o: unresolved symbol can_hw_no_messages
can_master.o: unresolved symbol can_hw_register
can_master.o: unresolved symbol can_hw_get_message
can_master.o: unresolved symbol can_hw_unregister
can_master.o: unresolved symbol can_hw_listen
can_master.o: unresolved symbol can_hw_block
can_master.o: unresolved symbol can_hw_send_message

Looking in /proc/ksyms, i can find the exported symbols from the kvaser
driver, but it they are in a different format than all the others.

d3d27070 can_hw_register_R__ver_can_hw_register [kvaser]
d3d27090 can_hw_unregister_R__ver_can_hw_unregister [kvaser]
d3d270b0 can_hw_listen_R__ver_can_hw_listen [kvaser]
d3d270c4 can_hw_block_R__ver_can_hw_block [kvaser]
d3d270e8 can_hw_send_message_R__ver_can_hw_send_message [kvaser]
d3d270f8 can_hw_get_message_R__ver_can_hw_get_message [kvaser]
d3d27108 can_hw_no_messages_R__ver_can_hw_no_messages [kvaser]
d3d27000
__insmod_kvaser_O/home/afu/cvs/dtu/49422/canbus/src/kvaser.o_M3B01709C_V132100
[kvaser]

the modules are compiled with:
-D__KERNEL__ -DMODULE -Wall -O2 -Wall -Wstrict-prototypes
-fomit-frame-pointer -fno-strict-aliasing -DEXPORT_SYMTAB

Any ideas appreciated.

Regards Anders Fugmann