[問題] LDD3 char device driver 長整數除法的問題

看板LinuxDev作者時間15年前 (2010/04/22 00:13), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
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

04/22 08:52, , 1F
warnning 不是寫的很清楚嘛..= =, undefined symbol阿.
04/22 08:52, 1F

04/22 11:43, , 2F
do_dev? do_div?
04/22 11:43, 2F

04/22 18:14, , 3F
感謝二位~
04/22 18:14, 3F
文章代碼(AID): #1BpoGbav (LinuxDev)
文章代碼(AID): #1BpoGbav (LinuxDev)