4. linux动态链接器的实现
在前面分析 Linux下程序的装载时,己经介绍了一个通过 execve()系统调用被装载到进程的地址空间的程序,以及内核如何处理可执行文件。...Linux动态链接器是个很有意思的东西,它本身是一个共享对象,它的路径是lib/ld-linux.so.2,这实际上是个软链接,它指向lib/ld-x.y.z.so,这个才是真正的动态连接器文件。...Linux的ELF动态链接器是Glbc的一部分,它的源代码位于Glibc的源代码的elf目录下面,它的实际入口地址位于 sysdeps/i386/d1-manchine.h中的__start(普通程序的入口地址...这一点可以使用ldd来判断:
$ ldd /lib/ld-linux so 2
statically linked
动态链接器本身必须是PC的吗?...实际上的ld- linux.so.2是PIC的。
动态链接器可以被当作可执行文件运行,那么的装载地址应该是多少?