JavaScript is required to for searching.
跳过导航链接
退出打印视图
链接程序和库指南     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分使用链接编辑器和运行时链接程序

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

共享目标文件依赖项

查找共享目标文件依赖项

运行时链接程序搜索的目录

配置缺省搜索路径

动态字符串标记

重定位处理

重定位符号查找

缺省符号查找

运行时插入

执行重定位的时间

重定位错误

装入其他目标文件

延迟装入动态依赖项

提供 dlopen() 的替代项

初始化和终止例程

初始化和终止顺序

安全性

运行时链接编程接口

装入其他目标文件

重定位处理

符号查找

获取新符号

测试功能

使用插入

调试帮助

调试功能

调试器模块

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

第 3 部分高级主题

6.  直接绑定

7.  生成目标文件以优化系统性能

8.  mapfile

9.  接口和版本控制

10.  使用动态字符串标记建立依赖性

11.  可扩展性机制

第 4 部分ELF 应用程序二进制接口

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

A.  链接程序和库的更新及新增功能

B.  System V 发行版 4(版本 1)mapfile

索引

第 3 章

运行时链接程序

动态可执行文件的初始化和执行过程中,将调用解释程序来完成将应用程序绑定到其依赖项的操作。在 Oracle Solaris OS 中,此解释程序称为运行时链接程序。

在对动态可执行文件进行链接编辑过程中,将会创建一个特殊的 .interp 节以及关联的程序头。此节包含用于指定程序的解释程序的路径名。链接编辑器提供的缺省名称是运行时链接程序的名称:/usr/lib/ld.so.1(对于 32 位可执行文件)和 /usr/lib/64/ld.so.1(对于 64 位可执行文件)。


注 - ld.so.1 是共享目标文件的特例。此处使用的版本号为 1。但是,以后的 Oracle Solaris OS 发行版可能会提供更高的版本号。


在执行动态目标文件的过程中,内核将装入该文件并读取程序头信息。请参见程序头。内核可根据此信息查找所需解释程序的名称。内核会装入并将控制权转交给此解释程序,同时传递足够的信息以便解释程序继续执行应用程序。

除了初始化应用程序以外,运行时链接程序还会提供用来使应用程序扩展其地址空间的服务。此过程涉及装入其他目标文件以及绑定到这些目标文件提供的符号。

运行时链接程序执行以下操作: