本文へジャンプ

Hitachi

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

制限事項の対策

  • デバッグ情報不正
    optimizeオプションを指定してアセンブルした場合、絶対アドレスセクションのデバッグ情報が不正となる不具合(デバッガのソースウィンドウでアドレス表示が不整合となる)を解決しました。

制限事項の対策

  • リロケーション不正
    goptimizeオプション指定時に
    symbol: .EQU $
    で定義したシンボル参照箇所の、リロケーションが不正となる問題点を解決しました。

制限事項の対策

  1. ローカルラベル、.ASSIGN定義シンボル
    ローカルラベル(?で始まるラベル)、.ASSIGN定義シンボル使用時にコード不正になる不具合を解決しました。

    [例]
      .IMPORT TRGET
      .SECTION CD1,CODE,ALIGN=4
      MOV.L #(TRGET - ?LABEL),R0 ;オペランドが相対値のラベルと
                                 ;ローカルラベルの減算値
    ?LABEL:  

    発生条件:
    下の条件のいずれかを満たす時、発生します。
    • .ASSIGNラベル、ローカルラベルへのBcc分岐を記述し、goptimizeオプションを指定。
    • .ASSIGNラベル、ローカルラベルへのJMP/JSR分岐を記述。
    • .ASSIGNラベル、ローカルラベルと、外部シンボル(定義/参照)との式を記述。
    • .ASSIGNラベル、ローカルラベル同士の式を記述し、goptimizeオプションを指定。
  2. 最適化指定時、別セクションで$を定義したシンボル参照のコード不正
    最適化指定時、別セクションで$を定義したシンボルを参照した場合にコード不正となる不具合を解決しました。
    [例]
         .section abc,code,align=2
          :
    sym    .equ $    ;$で定義したシンボル
          :
         .section xyz,code,align=2
          :
         bra sym  <- 誤ったアドレスに分岐する  
    発生条件:
    下の条件のいずれかを満たす時、発生します。
    • 最適化オプション(optimize)を指定。
    • 別セクションで$を定義したシンボルを参照。
  3. マクロ展開不正
    マクロ定義内に漢字の「能」がある場合、マクロ展開時にエラー620(UNDEFINED PREPROCESSOR VARIABL)が発生する不具合を解決しました。
    [例]
      .MACRO  M_SVC_JUMP
      XOR.L   ER0,ER0          ; 機能コード FETCH <-"能"を含んでいる
      MOV.W   @_OP_SYS_PRM,R0  ;
      AND.W   #h'07FFF,R0      ; bit 15(機能種別) mask
      .ENDM
    ;
      M_SVC_JUMP               ; マクロ展開  

    発生条件:
    マクロ定義内(コメントも含む)に、次の文字(記号、カタカナ、ロシア文字、アラビア数字、漢字)が存在する場合、発生します。
    [ 記号 ]  ―
    [ カタカナ ]  ソ
    [ ロシア文字 ]  Ы
    [ アラビア数字 ]  Ⅸ
    [ 漢字 ]  噂,浬,欺,圭,構,蚕,十,申,曾,箪,貼,能,表,暴,予,禄,兔,喀,媾,彌,拿,杤,歃

バージョンアップ概要

  • 標準ELF/DWARF2フォーマット対応
  • 制限値の緩和
  • ディレクトリ名、ファイル名にハイフン(-)指定不可の制限を解除
  • .BIMPORT, .BEXPORT制御命令追加(.BEQUシンボルの外部定義・参照が可能)
  • logo/nologoオプション追加