Hi All,
I am trying to add 2 new files (a .h and a .c) in the kernel. I copied my
.h file in /include/linux and .c in /net/core. I then made the
following change to the Makefile in /net/core.
obj-y := sock.o skbuff.o iovec.o datagram.o scm.o split_helper.o
where split_helper.o is for the .c file that I am adding.
The kernel recompilation went without any problems. I wrote loadable
module programs that can access the functions defined in .c. When I try to
install these modules, they came back with the following error
/sbin/insmod x.o
x.o: unresolved symbol enqueue_sfi
x.o: unresolved symbol init_skbuff_list
x.o: unresolved symbol get_head_sfi
x.o: unresolved symbol search_sfi
x.o: unresolved symbol enqueue_skbuff_list
x.o: unresolved symbol init_head_sfi
x.o:
Hint: You are trying to load a module without a GPL compatible license
and it has unresolved symbols. Contact the module supplier for
assistance, only they can help you.
make: *** [install] Error 1
These functions are defined in the .c file and declared with the extern
keyword in the .h file. In my modules I am including the .h file.
Any suggestions on what I might be missing here ?
Thanks,
Rahul.