![](/img/trans.png)
[英]EXPORT_SYMBOL in kernel module | undefined symbol during insmod
[英]Undefined Symbol in Kernel Module
我正在開發一個非常復雜的Linux驅動程序。 我正在移動一些文件,以嘗試“減少脂肪”。 我有4個“未定義!” 鏈接階段的符號。 我已經搜索了源代碼,但我真的不知道這些符號將包含在哪里。
我以為如果在已編譯的.ko上執行objdump -DS
並搜索符號,我也許能夠從周圍的反編譯源中分辨出它們的來源。 但是,當我搜索符號時,甚至找不到它們!
有沒有辦法告訴WHERE或如何包含未定義的符號?
好的,我想出了個好方法。
我使用nm -u
列出了目標文件中未定義的符號。 ( .o
文件)
在每個.o
中一個接一個地搜索我所知道的未定義符號,這向我顯示了它們來自哪個文件。 然后,我有一個開始的地方可以在我的實際.c
文件或該.c
文件中包含的頭文件中查找符號。
現在,它不是大海撈針,而是從干草堆中掉下來的一大堆干草的針。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.