2016-03-16 25 views
0

在Linux 2.4.25系統上,我有兩個可加載的內核模塊,com20020xsoe。這些模塊應該是相互獨立的,但/proc/modules具有線我怎樣才能找出一個Linux模塊引用另一個?

xsoe     4528 0 (unused) 
com20020    10112 0 [xsoe] 

- 說xsoe指的是com20020。也許有編程錯誤,所以xsoe無意中使用了com20020中的一個符號。我怎樣才能找到這種依賴的原因(最好不要卸載com20020)? (depmod -n提供任何線索。)

+0

Linux內核2.4.25自動化是這麼老了......甚至'的/ proc/modules'輸出的格式現在是不同的。至於符號用法,檢查'xsoe'是否使用來自'com20020'的符號的最簡單方法是檢查它的'Module.symvers'文件(在構建'xsoe'的同一個build目錄中)。 – Tsyvarev

+0

感謝提示,但沒有'Module.symvers'文件。 – Armali

回答

0

我看着/proc/ksymscom20020可疑符號可能也出現在xsoe源;最終我看到了線

d129e694 debug  [com20020] 

那裏。兩者的com20020xsoe來源有定義unsigned debug;MODULE_PARM(debug, "i");和在nm com20020.onm xsoe.o符號出現作爲共同輸出:

00000004 C debug 

固化是定義對象debug到具有內部鏈接(存儲 - static)。

的常用符號搜索可以與bash命令狀

join -j 3 <(nm com20020.o) <(nm xsoe.o)|grep C$ 
相關問題