2010-12-09 57 views
0

我創建了一個使用內核級函數(如vfs_read,write等)的內核模塊。該模塊具有生成該模塊以獲取.ko文件的生成文件。我想分析這個.ko文件的objdump輸出。但是我觀察到,在.ko文件中沒有解析諸如vfs_read和write之類的內核函數。他們只是被稱爲,我的猜測是,他們在運行時解決。 是否可以對makefile進行一些更改,並將這些函數靜態鏈接到單個.ko文件中,僅用於分析目的。 我嘗試在編譯時添加靜態,但我沒有幫助。 任何人都可以提出這樣做​​嗎?靜態鏈接在內核級別的make文件中

回答

0

請參見LD(1)手動什麼-static做:

-static  Do not link against shared libraries.

由於內核模塊不針對任何共享庫(或與此有關的任何庫)鏈接,它沒有任何效果。

內核在加載時使用自己的「函數池」來解析未定義的引用。所以鏈接只存在於內存中,或者當你把代碼放入內核時。

+0

那麼有可能在1個單一文件中獲得這些功能? – prap19 2010-12-10 01:28:30