ELF 動態鏈接 so的動態符號表(.dynsym)


靜態鏈接中有一個專門的段叫符號表 -- “.symtab”(Symbol Table), 里面保存了所有關於該目標文件的符號的定義和引用。

 

動態鏈接中同樣有一個段叫 動態符號表 -- “.dynsym”(Dynamic Symbol) , 但.dynsym 相對於 .symtab 只保存了與動態鏈接相關的導入導出符號。

so中同樣有.symtab,其中保存着所有的符號

 

.symtab 和 .dynsym 都有相對應的輔助表

比如 :

.symtab -> .strtab(String Table)符號字符串表

.dynsym -> .dynstr(Dynamic String Table)動態符號字符串表

 

在模塊加載時,加載器收集每個加載進來的模塊的動態符號表,組成全局的動態符號表,只有當依賴這個模塊的其他模塊發起重定位時,可以查詢這個表來獲取確定的地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM