ELF 動態鏈接 - so 的 .dynamic 段


動態鏈接文件中最重要的段就是 .dynamic段

這個段里保存了動態鏈接器需要的最基本的信息

比如:1.  依賴於哪些共享對象, d_tag = DT_NEED,  d_ptr 表示共享對象文件名

         2. 動態鏈接符號表的位置 d_tag = DT_SYMTAB, d_ptr 表示“.dynsym”的地址

         3. 動態鏈接重定位表的位置 d_tag = DT_REL/DT_RELA

     4. 共享對象初始化代碼的地址

   5. 共享對象結束代碼的地址

   6. 動態鏈接Hash表地址

         7.動態鏈接字符串表地址

   8.動態鏈接字符串表大小,d_val表示大小

   9.依賴的共享對象的搜索路徑等等

 

.dynamic段中往往保存着多個元素,元素的數據結構為(定義在elf.h中):

1 typedef struct {
2     Elf32_Sword d_tag;
3     union {
4         Elf32_Word d_val;
5         Elf32_Addr d_ptr;
6     }
7 } Elf32_Dyn

 


免責聲明!

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



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