PL/I の異なるリリースで作成されたオブジェクト・モジュールを リンク・エディットし、かつそのオブジェクト・モジュールに外部変数の シンボル・テーブルが含まれている場合、結果として生成される ロード・モジュールに現れるシンボル・テーブルは、PL/I の最新の リリースによって作成されたものである必要があります。
プログラムに、外部変数に対する下記の PL/I 機能が 1 つ以上 含まれている場合、コンパイラーは外部シンボル・テーブル 制御セクション (CSECT) を含んだオブジェクト・モジュール を作成します。
プログラムが、外部変数に関するこれらの機能を 1 つ以上使用している 場合には、ロード・モジュールに 正しいシンボル・テーブルが現れるようにする必要があります。 PL/I の最新のリリースによって作成されたオブジェクト・モジュールは、 リンク・エディット・ジョブ・ストリーム内の他のすべてのオブジェクト・モジュールより前に置いてください。 複数のオブジェクト・モジュールによって同じ名前のシンボル・テーブル CSECT が 作成された場合、リンケージ・エディターは、最初に検出したシンボル・テーブル CSECT を 保持し、他のシンボル・テーブルを破棄します。
例えば、OS PL/I バージョン 1 リリース 5.1 によって作成されたオブジェクト・モジュール を、OS PL/I バージョン 2 リリース 3 によって作成されたオブジェクト・モジュールと共にリンク・エディットするとします。 OS PL/I バージョン 2 リリース 3 によって作成されたオブジェクト・モジュールは、リンク・エディット・ジョブ・ ストリーム内では、OS PL/I バージョン 1 リリース 5.1 によって作成されたオブジェクト・モジュールより前に置いてください。 それにより、両方のオブジェクト・モジュールがシンボル・テーブルを作成した場合、 リンケージ・エディターは OS PL/I バージョン 2 リリース 3 によって作成されたシンボル・テーブルを保持します。