動態鏈接文件中最重要的段就是 .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
