作者suspect1 ()
看板LinuxDev
标题[问题] LDD3 char device driver 长整数除法的问题
时间Thu Apr 22 00:13:23 2010
Dear all :
自己练习写LDD3的scull driver,其中scull_read scull_write中
有用到长整数的除法编译时有过到得到警告讯息
#######################################################################
WARNING: "__moddi3"
[/usr/src/kernels/2.6.21-1.3194.fc7-i686/myscull/scull.ko] undefined!
WARNING: "__divdi3"
[/usr/src/kernels/2.6.21-1.3194.fc7-i686/myscull/scull.ko] undefined!
########################################################################
google之後发现在2.6上要用 do_div(n,base) 这个 macro定义在
<asm-i386/div64.h>中
但是我引入header,仍然得到讯息
##########################################################################
WARNING: "do_dev" [/usr/src/kernels/2.6.21-1.3194.fc7-i686/myscull/scull.ko]
undefined!
###########################################################################
以至於编译出来的 scull.ko 无法 insmod
以下是我的Makefile
####################################################################
obj-m:=scull.o
all:
make -C /lib/modules/2.6.21-1.3194.fc7/build/ M=$(PWD) modules
clean:
rm -f *.o *.ko *mod.c
########################################################################
请高手指点,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.163.160
1F:→ alongalone:warnning 不是写的很清楚嘛..= =, undefined symbol阿. 04/22 08:52
2F:→ chris234:do_dev? do_div? 04/22 11:43
3F:→ suspect1:感谢二位~ 04/22 18:14