在编译内核的时候连接出错了,出错内容如下:
kernel/kernel.o:在函数‘copy_process’中:
/home/yao/kernel/linux/linux-gdb-rh9/linux/kernel/fork.c:84:对'memcpy'未定义的引用。
查看对应的代码:
*p = *current; /* NOTE! this doesn't copy the supervisor stack */
一时间想不明白,在工程里找memcpy的引用和定义,却一直找不找原因。后来才在oldlinux上找到答案,连接如下:
http://www.oldlinux.org/oldlinux/archiver/?tid-3965-page-3.html
我将解决方法复制了过来:
高版本的gcc使用memcpy来对结构赋值,编译内核时却不能使用这些函数。这是编译器版本不同导致的问题。