视频分享地址: https://space.bili|

明月照江江

园龄:7年4个月粉丝:33关注:0

📂Linux
🔖Linux
2018-04-27 18:26阅读: 2628评论: 0推荐: 1

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

 

本文作者:明月照江江

本文链接:https://www.cnblogs.com/gradyblog/p/8963879.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   明月照江江  阅读(2628)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起