z/OSソフトウェア製品移植のための前提知識(オブジェクト、ロードモジュールの互換)
By 神居 - Posted: 2009/10/23 Last updated: 2009/10/30
- Leave a Comment
オブジェクト、ロードモジュールの互換性
オブジェクト・モジュール
アセンブラーやコンパイラーの出力である、オブジェクト・モジュールのフォーマットにも互換がある。ただしLEなどによって生成される、XOBJ形式、GOFF形式など、新しい形式のオブジェクトには互換はない。アセンブラー(HLASM)でもGOFFオブジェクトはサポートされるが、移植を考えているモジュールでは使うことはできない。そのためGOFFオブジェクトを前提にしたソース・コードは書き換えが必要となる。
ロードモジュール
リンケージエディターの出力である、ロードモジュールも基本は互換である。ただしVOS3では、AMODE=31とRMODE=ANYの属性に関しては、ロードモジュールのディレクトリエントリ・フォーマットに非互換があるため、MVSでAMODE=31、RMODE=ANYでバインダーに掛けたモジュールを、そのままVOS3へ持って行っても、AMODE=24、RMODE=24で解釈されてしまう。再リンケージを行うか、コンバーターツールを作る必要がある(ちょっとした違いなのでツール自体は難しくない)。
MSPの場合は、そのような非互換はない。
なおロードモジュールの修正を行う、SPZAPユーティリティーの入力データは互換を持つので、MVSで作成したSPZAPユーティリティーのSYSINデータは、そのままMSPのJQPSPZAP、VOS3のJSPPTCHユーティリティーで使用できる。
Posted in ポーティング、ローカライズ手法 • • Top Of Page