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

文档信息

前言

1.  Oracle Solaris 链接编辑器介绍

2.  链接编辑器

3.  运行时链接程序

4.  共享目标文件

5.  应用程序二进制接口与版本控制

6.  支持接口

7.  目标文件格式

8.  线程局部存储

9.  Mapfile

A.  链接编辑器快速参考

B.  版本控制快速参考

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

D.  直接绑定

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

Mapfile 结构和语法

段声明

映射指令

段内节的排序

大小符号声明

文件控制指令

映射示例

Mapfile 缺省选项

内部映射结构

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

索引

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 中的每个映射指令时,指令将添加在已经为同一个段指定的所有其他映射指令之后,但要在此段的缺省映射指令之前。