JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11.1 链接程序和库指南     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

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

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

第 2 部分快速参考

5.  链接编辑器快速参考

第 3 部分高级主题

6.  直接绑定

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

8.  Mapfile

9.  接口和版本控制

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

11.  可扩展性机制

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

12.  目标文件格式

13.  程序装入和动态链接

14.  线程局部存储

第 5 部分附录

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

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

Mapfile 结构和语法

段声明

映射指令

段内节的排序

大小符号声明

文件控制指令

映射示例

Mapfile 选项缺省值

内部映射结构

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

Mapfile 选项缺省值

链接编辑器使用缺省的 segment_attribute_values 和对应的缺省映射指令定义了四个内置段(textdatabssnote)。虽然链接编辑器不使用实际的 mapfile 提供缺省值,但是缺省 mapfile 的模型可以帮助说明链接编辑器遇到 mapfile 时出现的情况。

以下示例说明 mapfile 在使用链接编辑器的缺省值时的表现。链接编辑器开始执行操作时,行为上好像已经读入了 mapfile。随后链接编辑器会读取 mapfile 并增大或更改缺省值。

        text = LOAD ?RX; 
        text : ?A!W; 
        data = LOAD ?RWX; 
        data : ?AW; 
        note = NOTE; 
        note : $NOTE;

读入 mapfile 中的每个段声明时,都会将其与现有的段声明列表进行如下比较:

  1. 如果 mapfile 中尚不存在此段,但是存在具有相同段类型值的其他段,则在具有相同 segment_type 的所有现有段之前添加此段。

  2. 如果现有 mapfile 中没有任何段与刚读入的段的 segment_type 值相同,则按 segment_type 值添加该段以保持以下顺序:

    INTERP

    LOAD

    DYNAMIC

    NOTE

  3. 如果段的 segment_type 值为 LOAD,并且已经为这个可装入 (LOAD) 的段定义了 virtual_address 值,则将此段放置在任何没有定义 virtual_address 值或 virtual_address 值较大的可装入 (LOAD) 的段之前,但会放置在任何 virtual_address 值较小的段之后。

读入 mapfile 中的每个映射指令时,指令将添加在已经为同一个段指定的所有其他映射指令之后,但要在此段的缺省映射指令之前。