0
在符號表中,只有符號名稱的偏移量,但沒有符號屬於哪個庫的信息。ELF文件中的解析函數如何知道哪些庫是符號?
typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; /* bind, type: ELF_32_ST_... */ unsigned char st_other; Elf32_Half st_shndx; /* SHN_... */ } Elf32_Sym;
當解析函數被調用在運行時,該符號表和另一個DWORD的偏移被傳遞給它。該DWORD與符號的lib有關嗎?如果沒有,那麼解析函數如何找到符號的庫?
是的,ELF與Windows PE文件的對比,我認爲Apple Mac-O格式不會將導出的符號綁定到給定的動態庫:在全部庫中搜索寬度優先的搜索(在邊緣爲'DT_NEEDED'條目 - 這是ELF模塊的依賴關係)。使用的圖形是全局圖形,而不是當前ELF文件的子圖形。 – ysdx 2015-08-21 11:03:46