rtl_enable コマンド

目的

実行時リンカーで使用できるように共用オブジェクトを再リンクします。

構文

rtl_enable [  -R |  -o Name ] [  -l ] [  -s ] FileldFlag ... ] [  -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 command's -l (L の小文字) フラグで指定) です。アーカイブを使用可能にする場合は、そのアーカイブのすべての共用オブジェクトについて、ObjsLibsld コマンドに追加します。
-l (L の小文字) インポート・ファイルおよびエクスポート・ファイルは削除せずに現行ディレクトリーに入れたままにします。インポート・ファイルは接尾部 .imp を持ち、エクスポート・ファイルは接尾部 .exp を持ちます。File がモジュールである場合は、rtl_enable コマンドによって入力ファイル名に接尾部が追加されます。File がアーカイブである場合は、 このコマンドによって、モジュールであるメンバーの名前に接尾部が追加されます。
-o Name File.new の代わりに代替出力ファイル名を指定します。このフラグを -R フラグと一緒に使用しないでください。
-R 新規ファイルを作成する代わりに入力ファイルを置換します。エラーが発生すると、入力ファイルは上書きされません。このフラグを -o フラグと一緒に使用しないでください。
-s 新規出力ファイルまたは新規アーカイブを作成するときに使用することのできる現行ディレクトリーに、コマンドのスクリプトを生成しますが、再リンクはしません。これによってスクリプトの名前は Base.sh となります。ここで Base は、入力ファイルから接尾部を取り除いたベース名です。生成されたインポート・ファイルおよびエクスポート・ファイルも同様に現行ディレクトリーに書き込まれます。スクリプト、インポート・ファイル、およびエクスポート・ファイルを変更して、出力オブジェクトをカスタマイズすることができます。

パラメーター

項目 説明
ファイル 入力ファイルを指定します。
ldFlag ... 指定した ld コマンド・フラグを、生成した ld コマンドの最後にコピーし、デフォルト・オプションを上書きします。

注: 出力ファイルに名前を付けるときに、ldFlag パラメーターの -o フラグを使用しないでください。代替出力ファイル名を指定するには、rtl_enable コマンドの -o Name フラグを使用してください。

終了状況

このコマンドは、以下の終了値を戻します。

項目 説明
0 正常終了。
>0 エラーが発生しました。

注: エラーによっては、出力ファイルが作成されているものもあります。

セキュリティー

アクセス制御: 任意のユーザー

イベントの監査: N/A

実行時にリンク可能な libc.a の新規バージョンを作成するには、以下のように入力します。

  1. 実行時バージョンのディレクトリーを作成するために、次のように入力します。
    mkdir /tmp/rtllibs
  2. /tmp/rtllibs を、ユーザーの現行ディレクトリーにするために次のように入力します。
    cd /tmp/rtllibs
  3. 同じ名前で 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 へのシンボリック・リンクです。