作者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
→ alongalone:warnning 不是寫的很清楚嘛..= =, undefined symbol阿. 04/22 08:52
→ chris234:do_dev? do_div? 04/22 11:43
→ suspect1:感謝二位~ 04/22 18:14