MESC TOOL NEWS:
MESCT-CC32R-981016D
CC32R V.1.00 Release 4
バージョンアップのお知らせ
|
この度、M32Rファミリ用クロスツールキットCC32Rを、V.1.00 Release 4へバージョンしましたので、ご案内いたします。
バージョンアップに伴う変更点
バージョンアップに伴い以下の変更および問題点の改修を行いました。
- Cコンパイラ(cc32R)
- -rel16オプションの新規追加
[オプション]
-rel16
[機 能]
-rel16オプションを指定すると、RAMに配置されるDおよびBセクションのグローバルシンボルのアクセスに、レジスタ相対間接によるロード/ストア命令を出力します。シンボルへのアクセスは、R12固定のレジスタ相対間接のアドレッシングモードとなります(表1参照)。
表1 -rel16オプション指定の有無による出力コードの違いの例
| -rel16 オプション未指定時 | -rel16 オプション指定時 |
LD24 R1, #_symbol
LDUB R1, @R1 |
LDUB R1, @(_symbol-__REL_BASE, R12) |
- ビットフィールドメンバを正しく参照できない場合がある問題(ビットフィールド変数を介する値の代入の問題)の改修
定数、変数、ビットフィールドメンバ、または、それらの演算をビットフィールドメンバに代入し、そのビットフィールドメンバを参照すると、正しく参照できない場合がある問題点を改修しました。
- asm関数のパラメータ指定の問題の改修
asm関数の第2パラメータに、関数(asm関数を含む)のリターン値を指定した場合、asm関数の第2パラメータがR1レジスタに正しく設定されない場合がある問題点を改修しました。
- 要素数が約10,000以上の配列の初期化式の問題の改修
約10,000以上の要素を持つ配列の初期化式を記述した場合、コアダンプ(EWS版)、ページ例外(PC版)の症状が発生する場合がある問題点を改修しました。
- 構造体を関数のパラメータまたは戻り値として渡す場合の問題の改修
構造体のアライメントサイズがワードサイズでなく、構造体の配置アドレスがワードアライメント境界にない場合、構造体を関数のパラメータまたは戻り値として渡す場合に、アドレス例外発生のコードを生成する場合がある問題点を改修しました。
- 集合体型変数に三項演算子とインクリメントを指定した場合の問題の改修
集合体型変数の要素指定に、三項演算子を使用し、かつ、その変数をインクリメントした場合、internal errorが発生する問題点を改修しました。
- 最適化においてインターナルエラーが発生する場合の問題の改修
引数を持つ関数において、if-else文とその肯定文にif文があり、関数引数への代入を行っている場合、インターナルエラーが発生する問題点を改修しました。
- リンカ(lnk32R)
- リロケーションサイズ・オーバーフローチェックの仕様変更
リンカにおいて、リロケーションサイズ・オーバーフローチェックの仕様を変更しました。
[リンカの機能説明]
アセンブリ言語ソースにおいて、リンク時まで解決されないディスプレースメントの外部参照シンボル、または、相対シンボルを含むオペランドが指定された場合、アセンブラは、これら未解決の領域が存在する状態のオブジェクトファイルを生成します。リンカは、これら領域に解決したアドレス値を埋め込むことにより、アドレスを解決したロードモジュールを生成します。
[リロケーションサイズ・オーバーフローチェックの仕様]
リンカは、未解決の領域に解決したアドレス値を埋め込む際、領域に納まるか否かをチェックします。埋め込むことができない場合、エラーメッセージを出力します。本バージョンでは、エラーが出力されるアドレスの範囲を改訂しました(表2~表4参照)。
表2 埋め込む領域が8ビットの場合の扱い
| アドレス範囲 | Release 4 仕様 | Release 3 仕様 |
| unsigned | signed |
| ~0xffffff7f | エラー | エラー | エラー |
| 0xffffff80~0xffffffff | エラー | 正常終了 | 正常終了 |
| 0x00000000~0x0000007f | 正常終了 | 正常終了 | 正常終了 |
| 0x00000080~0x000000ff | 正常終了 | エラー | ワーニング |
| 0x00000100~ | エラー | エラー | エラー |
表3 埋め込む領域が16ビットの場合の扱い
| アドレス範囲 | Release 4 仕様 | Release 3 仕様 |
| unsigned | signed |
| ~0xffff7fff | エラー | エラー | エラー |
| 0xffff8000~0xffffffff | エラー | 正常終了 | 正常終了 |
| 0x00000000~0x00007fff | 正常終了 | 正常終了 | 正常終了 |
| 0x00008000~0x0000ffff | 正常終了 | エラー | ワーニング |
| 0x00010000~ | エラー | エラー | エラー |
表4 埋め込む領域が24ビットの場合の扱い
| アドレス範囲 | Release 4 仕様 | Release 3 仕様 |
| unsigned | signed |
| ~0xff7fffff | エラー | エラー | エラー |
| 0xff800000~0xffffffff | エラー | 正常終了 | 正常終了 |
| 0x00000000~0x007fffff | 正常終了 | 正常終了 | 正常終了 |
| 0x00800000~0x00ffffff | 正常終了 | エラー | ワーニング |
| 0x01000000~ | エラー | エラー | エラー |
- Cソースマージユーティリティ(cmerge)
- 頭文字Lのラベルを削除してしまう場合がある問題の改修
生成ファイルにおいて、頭文字Lの必要なラベルを削除してしまう場合がある問題点を改修しました。
- 頭文字Dのラベルを削除するように変更
生成ファイルにおいて、頭文字Dの不要なラベルを削除するように変更しました。
動作環境
- PC版の統合
従来のIBJ版は、W95J版に統合しました。また、IBE版は、W95E版に統合しました。動作するホストマシンおよびOSのバージョンは、表5のとおりです。
表5 動作環境
| CC32R | ホストマシン | OS |
| PC版 | W95J版(日本語) | IBM PC/AT互換機 | Windows 95およびWindows NT 4.0のDOSプロンプト環境 |
| W95E版(英語) |
| EWS版 | SPARC版 | SPARCstation | SunOS Release 4.1.x |
| Solaris版 | Solaris 2.x |
| HP9000/700版 | HP9000シリーズ700 | HP-UX Release 9.x |
- 提供メディアの変更/インストール方法の変更
各ホストごとのCC32Rすべてを、1枚のCD-ROMまたはCD-Rに格納しました。新インストーラにより、同梱するライセンスID証書に記載されたID番号を入力することで、対応ホストのCC32Rがインストールできるように変更しました。
出荷情報
CC32R V.1.00 Release 4 の出荷情報は、表6の通りです。出荷に関しては、最寄りのルネサス営業または特約店までお問い合わせください。
表6 出荷情報
| 発注形名 | CC32R | 仕様明細 | 出荷メディア |
| M-CC32R | W95J版(日本語版) | W95J | CD-ROMまたはCD-R |
| W95E版(英語版) | W95E |
| SPARC版 | SPARC |
| Solaris版 | SOLARIS |
| HP9000/700版 | HP700 |
バージョンアップについて
- 無償バージョンアップ条件
CC32Rをご購入され、お客様登録カードをご返送いただいているお客様には、同じホスト/OS版の CC32R V.1.00 Release 4へ無償バージョンアップさせていただきます。また、IBJ版をご使用になられていた場合はW95J版へ、IBE版をご使用になられていた場合はW95E版へ、それぞれ無償バージョンアップさせていただきます。対象のお客様には、バージョンアップ製品をお送りいたしますので、しばらくお待ちください。
- バージョンアップに関する注意事項
- 無償バージョンアップに該当されない場合は、有償となります。
- 「CC32R V.1.00 ユーザーズマニュアル」は、改訂しておりません。
現在お持ちの「CC32R V.1.00 ユーザーズマニュアル」をそのままご使用ください。「CC32R V.1.00 ユーザーズマニュアル」をお持ちでない場合には、別途ご購入ください。
ご注意
1998年10月1日付ツールニュース「CC32Rご使用上のお願い 」にてご連絡させていただいた内容は、今回の製品(CC32R V.1.00 Release 4)にも該当しますのでご注意ください。