Re: Problems compiling kernel modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux