rtl_enable 命令
用途
重新链接共享的对象以启用运行时链接程序来使用它们。
语法
rtl_enable [ -R | -o Name ] [ -l ] [ -s ] 文件 [ ldFlag ...] [ -F ObjsLibs ...]
描述
rtl_enable 命令使用 -G 标志重新链接一个模块,或一个包含模块的压缩文档以启动运行时链接。 一个模块是包含装入程序部分的 XCOFF 文件。 共享的对象是一个在 XCOFF 头中设置有 F_SHROBJ 标志的模块。
在它最简单的格式中,rtl_enable 命令使用 File.new 名称创建了一个新文件。 如果 File 是一个模块, File.new 将会是同种的模块。 如果 File 是压缩文档,File .new 将会是一个其成员拥有和 File 的成员同样名称的压缩文档。 rtl_enable 命令在新的压缩文档中重新链接模块以启动运行时链接。 rtl_enable 命令将其他成员不作改变地归档入输出文件。
rtl_enable 命令使用在 File(或它的成员)中的装入程序部分来创建导入和导出文件,以确定 libpath 信息,并确定入口点。
标志
| 项 | 描述 |
|---|---|
| -F ObjsLibs ... | 将 ObjsLibs 添加到生成的 ld 命令的开头。 ObjsLibs 参数是对象文件或库(由 ld 命令的 -l(小写的 L)标志指定)。 如果您启用了压缩文档,为所有在压缩文档中的共享对象将 ObjsLibs 添加到 ld 命令。 |
| -l | (小写的 L)将导入和导出文件留在当前的目录中而不是删除它们。 导入文件具有后缀 .imp,导出文件具有后缀 .exp。 如果 文件 是模块,那么 启用 rtl_enable 命令会将后缀添加到输入文件名中。 如果 File 是一个压缩文档,它在模块成员的名称中增加后缀。 |
| -o 姓名 | 指定一个备用的输出文件名来代替 File.new。 不要和 -R 标志一起使用此标志。 |
| -R | 用替换输入文件的方式代替创建新文件。 如果有任何的错误产生,它将不会覆盖输入文件。 不要和 -o 标志一起使用此标志。 |
| -s | 在当前的目录中生成一个命令的脚本,您可以使用它来创建一个新的输出文件或是压缩文档,但不要重新链接任何东西。 它命名该脚本为 Base.sh,其中 Base 是去掉了任何后缀的输入文件的基本名称。 它还在当前的目录中写入了生成的导入和导出文件。 您可以修改脚本以及导入和导出文件以定制输出对象。 |
参数
| 项 | 描述 |
|---|---|
| 文件 | 指定输入的文件。 |
| ldFlag ... | 复制指定的 ld 命令标志到生成的 ld 命令的结束位置,覆盖缺省的选项。 注: 请勿在 ldFlag 参数中使用 -o 标志来命名输出文件。 为了指定备用的输出文件名,使用
rtl_enable 命令的 -o
Name 标志。
|
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| >0 | 发生错误。 |
注: 根据错误的不同,可能已创建一些输出文件。
安全性
访问控制:任何用户
审计事件:N/A
示例
要在启动运行时链接的时候创建一个新版本的 libc.a,请输入:
- 通过输入以下命令为运行时版本创建目录:
mkdir /tmp/rtllibs - 制作/tmp/rtllibs通过输入以下命令来输入当前目录:
cd /tmp/rtllibs - 要创建同名的 libc.a 运行时版本,请输入:
rtl_enable -o libc.a /lib/libc.a
要在链接程序时使用 libc.a 的这个版本,和 ld 命令一起使用 -L /tmp/rtllibs。
文件
| 项 | 描述 |
|---|---|
| /usr/bin/rtl_enable | 包含 rtl_enable 命令。 这是一个链接到 /usr/ccs/bin/rtl_enable 的符号链接。 |