V8.3
31.2 項の「Writing a Privileged Routine (User-Written System Service)」の段落に対して,以下の変更を行う必要があります。
「作成したプログラムは,保護されたイメージであるため,オペレーティング・システムのプログラミング環境全体を自由に使用することはできません。モジュールにプレフィックス SYS$ または EXE$ がないかぎり,内部モードからモジュールを呼び出すことは避けてください。特に,LIB$GET_VM や LIB$RET_VM は内部モードから呼び出さないでください。 OpenVMS RMS のルーチンは,エグゼクティブ・モードから呼び出すことはできますが,カーネル・モードからは呼び出すことができません。」
LIB$GET_VM は間違いで,正しくは LIB$FREE_VM です。これらの LIBRTL ルーチンを直接呼び出すことも,これらのルーチンを現在または将来間接的に呼び出すルーチンを呼び出すこともできません。これには,LIBRTL 内の他のルーチンや,ユーザモードの C ライブラリなどが含まれます。
3.19.10 『HP OpenVMS DELTA/XDELTA Debugger Manual』の更新 |
|
V8.3
HP DELTA デバッガが OpenVMS Integrity Version 8.2-1 で利用可能になりました。『HP OpenVMS DELTA/XDELTA Debugger Manual』が本リリースで改訂され, OpenVMS Integrity システムで DELTA を利用するための情報が追加されました。
3.19.11 『HP OpenVMS Version 8.2 新機能説明書』 : Librarian ユーティリティの訂正 |
|
以下のリリース・ノートは,OpenVMS Integrity Librarian ユーティリティに関する訂正情報です。
『HP OpenVMS Version 8.2 新機能説明書』の第 4.8.2.3 項にある,Librarian の拡張された /REMOVE 修飾子についての説明は誤っています。正しい説明は次のとおりです。
Integrity 版 Librarian ユーティリティでは,/REMOVE 修飾子の機能が拡張されました。拡張された形式では削除するシンボルのモジュール・インスタンスを指定できるようになりました。拡張された /REMOVE 修飾子では,LIBRARY コマンドに対して,オブジェクト・ライブラリのグローバル・シンボル・テーブルから 1 つまたは複数のエントリを削除するように要求します。
3.19.11.2 ELF オブジェクト・ライブラリへのアクセスについての訂正
『HP OpenVMS Version 8.2 新機能説明書』の第 4.8.3.2 項には誤った説明があります。以下の文章はその項の説明を置き換えるものです。
ELF オブジェクト・ライブラリへのアクセス
OpenVMS Alpha オブジェクト,テキスト・モジュールなどは,シーケンシャル・アクセス・モジュールですが, ELF オブジェクト・モジュールは,本質的に,ランダム・アクセス・モジュールです。ランダムにアクセスできるように, 1 つの新しいライブラリ・ルーチンが作成されました。このルーチンを使うと, ELF オブジェクト・モジュールがプロセスの P2 空間にマップされ,アプリケーションはランダム・アクセスのクエリを実行できるようになります。このマッピングから仮想アドレス空間を解放するために,このマッピングを削除するための別のライブラリ・ルーチンも作成されました。これらの新しいルーチン (LBR$MAP_MODULE とLBR$UNMAP_MODULE) は, ELF オブジェクト・ライブラリの処理にのみ使用できます。これらのルーチンは P2 空間を参照するため,エントリ・ポイントは 64 ビット・インタフェースです。
ELF オブジェクト・ファイルはランダムにアクセスされるものなので,次に示す操作はELF オブジェクト・ライブラリに対しては実行できません。
LBR$GET_RECORD
LBR$SET_LOCATE
LBR$SET_MOVE
ライブラリにモジュールを挿入する操作はシーケンシャル操作なので,ELF オブジェクト・ライブラリに対してLBR$PUT_RECORD を実行することはできます。 ELF オブジェクト・モジュールはレコード単位にセグメント化されていないので,モジュールをライブラリに書き込む際に,LBR$PUT_MODULE を呼び出すとき,または LBR$PUT_RECORD を最初に呼び出すときに,ディスク上でのモジュールのサイズを指定する必要があります。
オブジェクト・モジュールを挿入するために LBR$PUT_RECORD を使用する方法を次の C コードの例に示します。