本文へジャンプ

Hitachi

株式会社 日立超LSIシステムズ

オプションの追加

Data_stuffオプションを追加しました。
セクションの境界調整により、コンパイル単位ごとに生じる同一セクション内の空き領域を詰めて、データ領域サイズを削減することができます。

最適化指定時のデバッグ情報不正

リンク時の最適化により、デバッグ情報(行情報)が不正に編集されデバッガ上での表示が不正になる場合がある不具合を対策しました。

【発生条件】
以下の条件をすべて満たす場合、発生する可能性があります。

  1. コンパイル(アセンブル)時にdebug,goptimizeオプションを指定している。
  2. リンク時の最適化が有効である。
  3. 最適化によって、デバッグ情報の行情報が出力される行の間隔が255行になる。

アセンブラ出力オブジェクトに対する不正な最適化

アセンブラが出力したオブジェクトファイルに対して、最適化すべきでないセクションに対して不当に最適化を行ってしまう問題を対策しました。

【発生条件】
以下の条件をすべて満たす場合、発生する可能性があります。

  1. ソースファイルに、PCインデックス相対命令(BRA Rn.B/W/L or BSR Rn.B/W/L)がある。
  2. 1.のファイルのアセンブル時に、アセンブラのgoptimizeオプションを指定している。
  3. 2.のオブジェクトファイルをリンクして、リロケータブルファイルを作成している。
  4. 3.のリロケータブルファイルをリンク時に、最適化が有効である。

SYSROFフォーマットへの変換時のエラー(G2003)

共通コード統合最適化を指定して生成したアブソリュートファイルをhelfcnvに入力すると、G2003エラーとなる不具合を対策しました

【発生条件】
以下の条件をすべて満たす場合、発生する可能性があります。

  1. コンパイル時にdebug,goptimizeオプションを指定している。
  2. 共通コード統合最適化(optimize=same_code)が有効である。
  3. optlnk V.8.00.03以降のバージョンを使用している。

change_messageオプションの複数エラーレベルの指定

change_messageオプションで、複数のエラーレベルを指定できない不具合を対策しました。

【例】
下記のようにchange_messageオプションを指定した場合、バージョンが8.0.03以前のリンカでは不当にエラーとなってしまいます。
optlnk -change_message=e=1000,w=2000 *.obj

セクションのオーバーレイ配置指定時の不要なエラーメッセージ出力

初期値なしデータセクションをオーバーレイ配置した際、出力形式にbinary/HEX/S-typeを指定すると不要なエラーメッセージ(L2022)が出力される問題点を解決しました。

間接アドレッシングモード活用最適化指定時のオブジェクト不正

間接アドレッシングモード活用最適化を指定した場合に、シンボルの参照アドレスが0番地になる場合がある不具合を解決しました。

【発生条件】
次の条件を全て満たす時、発生することがあります。

  1. 間接アドレッシングモード活用最適化(optimize=function_call)が有効である。
  2. relocatableファイルが入力される。
  3. 2.のrelocatableファイルは、複数のobjectファイルから生成されている。
  4. 2.のrelocatableファイルを生成している複数のobjectファイルは、コンパイル時の -goptimizeオプション指定があるものとないものが混在している。
  5. 2.のrelocatableファイルの他にも入力するファイルが存在する(relocatableファイル、objectファイル、ライブラリ)。

Internal error解決

  • アドレッシングモード短縮最適化(optimize=short_format)が有効な場合に、内部エラー(8996)となる場合がある不具合を解決しました。
  • 共通コード統合最適化(optimize=same_code)が有効な場合に、内部エラー(L4001)となる場合がある不具合を解決しました。

新CPUのサポート

CPU種別がH8SXのオブジェクトファイルの入力をサポートしました。

メモリ使用量指定

memoryオプション指定により、内部のメモリ使用量を指定することができます。これにより大規模プログラム開発時にリンク速度を向上することが可能です。