rtl_enable コマンド
目的
実行時リンカーで使用できるように共用オブジェクトを再リンクします。
構文
rtl_enable [ -R | -o Name ] [ -l ] [ -s ] File [ 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 command's -l (L の小文字) フラグで指定) です。アーカイブを使用可能にする場合は、そのアーカイブのすべての共用オブジェクトについて、ObjsLibs を ld コマンドに追加します。 |
-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 の新規バージョンを作成するには、以下のように入力します。
- 実行時バージョンのディレクトリーを作成するために、次のように入力します。
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 へのシンボリック・リンクです。 |