内核将主要可执行文件和动态链接器映射到进程VAS(虚拟地址空间)中;
内核通过上下文切换到动态链接器入口点来开始执行进程;
动态链接器映射进程VAS中的引用( DT_NEEDED)共享对象
DT_NEEDED条目libc动态链接器进行重定位:
您的libc函数需要一个 GOT 条目;
您需要一个使用此 GOT 条目的libc函数(以及特殊条目)的 PLT 条目;.PLT0
您需要一个重定位条目来修复 GOT 条目;
libc重定位条目需要引用(动态)符号表中函数的条目;
您需要相应地设置DT_RELA、DT_REL、DT_RELASZ、DT_RELSZ、DT_RELAENT、DT_RELENT、DL_PLTREL、PLTRELSZ;DT_JMPREL
您的代码可以调用 PLT 条目。
动态链接器调用您的可执行入口点。
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |