2013-09-28 25 views
0

我需要解析一個簡單的加載器的ELF可執行文件的可加載部分。發現了一個很好的「Example by Example」教程(由J. Koshy編寫),可以很好地概述ELF的結構。然後,它會將我引導至ELF Toolchain項目,該項目實現了ELF處理函數庫,其中包括libelf庫。ElfToolChain - 如何構建libelf庫w/o包的其餘部分?

使用這個庫的好處在於它封裝了ELF格式的變體,並使得代碼更加便攜和未來的證明。但是,我發現爲了能夠在Ubuntu上構建軟件包,我需要安裝大量的先決條件。

我試圖通過在libelf目錄中運行pmake來構建libelf部件,但是抱怨缺少頭文件時出現了構建錯誤 - 顯然是由全局make過程自動生成的,並且依賴於體系結構。

我的問題是 - 我該如何構建ELF工具鏈的libelf部分?

回答

0

您可以通過在頂級Makefile中註釋相應的SUBDIR行來構建Elftoolchain源代碼樹的選定部分。

爲建設libelf,你應該可以用下面的兩個目錄度日:

% grep ^SUBDIR Makefile | head -2 
SUBDIR += common 
SUBDIR += libelf 

注意:在Ubuntu上,你也可以使用GNU libelf,它提供了不同的實現相同的API ,並且似乎有ready-made packages

相關問題