当我安装(insmod)一个自己的驱动时,出现了“globalvar.o: unresolved symbol prefetch “的错误提示。很是郁闷,我找了老半天,终于解决,我用的是RedHat9(kernel version 2.4.20-8)。
解决方案如下:
在编译该驱动时,应当添加二级优化 -O2。
出现问题的编译方法:[root@localhost globalvar]# gcc -D__KERNEL__ -DMODULE -DLINUX -I /usr/local/src/linux-2.4.20/include -c -o globalvar.o globalvar.c
解决问题的编译方法:[root@localhost globalvar]# gcc -D__KERNEL__ -DMODULE -DLINUX -I /usr/local/src/linux-2.4.20/include -c -O2 -o globalvar.o globalvar.c
注意:添加的红色部分。