[問題] linux 2.4 kernel unresolved symbol

看板LinuxDev作者 (呈呈)時間17年前 (2007/10/18 13:35), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
我在 RH9 (2.4.20-8smp) 練習 kernel module 的寫作。 我將 module_a 中的 function "FUNC_A" 使用 EXPORT_SYMBOL(FUNC_A); 這樣是為了給另一個 module_b 來使用。 我 insmod module_a.o 之後接著 insmod module_b.o 但是系統跟我抱怨 : module_b.o: unresolved symbol FUNC_A 修改:我如果不 EXPORT_SYMBOL 就可以使用了。 此時我使用 grep FUNC_A /proc/ksyms 得到 d08fb29c FUNC_A_R__ver_FUNC_A [module_a] 我的 FUNC_A 應該要長得類似 FUNC_A_Rsmp_xxxxxxxx (xxxxxxxx 為 hex值) 但是實際上我的情況並不是如此。 修改:不使用 EXPORT_SYMBOL 的話會變成 d08fb29c FUNC_A [module_a] 請問是不是我有什麼地方沒有注意到? 底下是我的編譯方式 == #/bin/sh KINCPATH=/lib/modules/$(uname -r)/build/include OPTS="-D__KERNEL__ -DMODULE -DEXPORT_SYMTAB" gcc -Wall -O2 ${OPTS} -I${KINCPATH} -I. -c module_a.c -o module_a.o gcc -Wall -O2 ${OPTS} -I${KINCPATH} -I. -c module_b.c -o module_b.o == -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.246.16 ※ 編輯: kaichan 來自: 60.250.246.16 (10/18 14:15)

10/22 17:28, , 1F
難道是...... -DMODVERSIONS
10/22 17:28, 1F
文章代碼(AID): #175l2k5N (LinuxDev)
文章代碼(AID): #175l2k5N (LinuxDev)