Hi friends,
I've askeed questions about errors compiling kernel modules caused by including <stdio.h> and got some very helpful info here.
I changed those I/O stream and file operation in the code and get the module compiled, however, there would be warnings like
In file included from /home/lei/modules/test.c:49:
/home/lei/modules/Kcomp.h:21: warning: function declaration isn't a prototype
/home/lei/modules/Kcomp.h:27: warning: function declaration isn't a prototype
/home/lei/modules/Kcomp.h:69: warning: function declaration isn't a prototype
And the no prototype fuction looks like
int preset() // with no arguments { p = &nodes[0][0]; return 0; }
So when I tried to install the module with insmod ./test.ko , there would be an error,
insmod: error inserting './test.ko': -1 Unknown symbol in module
Could anyone tell me what is wrong here? Is that because of the no prototype function declaration?
TIA Lei
Lee Revell wrote:
On Sat, 2004-08-21 at 16:46, Lei Yang wrote:
What about multi-file module?
Say test.c doesn't include stdio.h, while there is some other .c file which is to be compiled and linked into test.ko, include stdio?
Would that work?
Are you just trying to print from a kernel module? Use printk.
The kernel does not really have its own standard input and standard output - the kernel manages those things for processes.
Lee
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/