Arm Compiler 5.06は、Arm Compiler 5の最終リリースのシリーズであり、Arm Compiler 6へ継承されます。
安全認証の必要なプロジェクトの場合、認証用の特定のリリースはARM Compiler 5.06 update3 から利用できます。
Arm Compiler 5.06 update 6は、通常メンテナンス期間で最終リリースとなる予定です。 それ以降のサポートとメンテナンスはArm Compiler 拡張保守(Extended Maintenance)を通して、少なくとも2020年夏まで継続して利用可能です。Arm Compiler 5.06の認証版とArm Compiler 5.06の拡張保守(Extended Maintenance)リリースは、Arm Compiler Qualification Kitによってサポートされます。
詳細な情報は、以下のリンクをご参照ください:
Arm Compiler 5.06 update 6 (build 750)は、ARM Compiler 5.06のアップデートリリースであり、以下の使用を意図しています:
これらのいずれかのライセンスと共に使用しなければなりません。 ライセンスの購入については、 https://developer.arm.com/products/buy-arm-products までご相談ください。
フローティングライセンスをご使用の場合は、 armlmd および lmgrd をversion 11.14.1.0以降にアップデートする必要があります。 Armは、常に、お客様が、 https://developer.arm.com/products/software-development-tools/license-management/downloads から利用できる最新版のライセンスサーバソフトウェアを使用することをお勧めします。
Arm Compiler 5.06 update 6 が、ツールキット(DS-5あるいはKeik MDK)の一部として含まれている場合、ツールキットのインストーラがインストレーションプロセスを処理します。ツールキットのインストール方法を参照してください。
その他のケースの場合、Arm Compiler 5.06 update 6をどのように使用するかに依存して適切なインストレーションの場所を選択する必要があります:
Arm Compiler 5.06 update 6 は、DS-5製品のインストレーションの外であるなら、デフォルトの場所を含み、任意の場所にインストールすることができます。
インストール後、 https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/adding-new-compiler-toolchains-to-ds-5 のチュートリアルで示す方法に従って、DS-5 5.20以降のツールチェーンに統合することができます。
DS-5 Eclipse IDE あるいは DS-5 Command PromptからArm Compiler 5.06 update 6 を使用することをおすすめします。これら環境の外でツールチェーンを使用するとき、以下の環境変数の構成が必要となります:
Arm Compiler 5.06 update 6 は、Keil MDKインストレーションの ARM サブディレクトリの下にインストールする必要があります。たとえば、Keil MDKインストレーションが C:Keil_v5 ならば、 C:Keil_v5ARMARM_Compiler_5.06u6 にインストールすることをおすすめします。
インストール後、 http://www.keil.com/support/man/docs/uv4/uv4_armcompilers.htm で利用可能なアプリケーションノートの指示に従って、MDKプロジェクトへツールチェーンを統合することができます。
Arm Compiler 5.06 update 6は、DS-5製品およびKeil MDK製品のそれぞれのインストレーションの外であるなら、デフォルトの場所を含み、任意の場所にインストールすることができます。
ライセンスファイルあるいはライセンスサーバの場所を指定する ARMLMD_LICENSE_FILE 環境変数をセットしてください。Windows上ではダブルクォーテーションをこのパス内に含めないでください。パス内の空白はクォートで囲まなくても動作します。
Arm Compiler 5.06 update 6 は、以下のサポートされるプラットフォームでテストされています:
Installer/setup.sh を実行し、画面の指示に従ってください。
32-bitインストーラのみ提供されます。ツールパッケージは、64-bitホストプラットフォーム向けに、個別に64-bit版の armlink を含むバイナリセットを含みます。詳細は、ドキュメンテーションをご参照ください。
インストールされたいくつかのツールが32-bitシステムライブラリに依存します。 Arm Compiler 5.06 update 6 を64-bit Linuxホストプラットフォームで使用するとき、32-bit互換のライブラリがインストールされていることを確認してください。 32-bit互換ライブラリがインストールされていない場合、 Arm Compiler 5.06 update 6 ツールは、ライブラリが見つからず実行が失敗するあるいはエラーをレポートします。インストールに必要なライブラリは、ご使用のプラットフォームで管理者権限で適切なコマンドを実行して確認してください:
Ubuntu 16.04 LTSシステムでは、特定の32-bit glibcが使用されていない場合、32-bitツールのいくつかに致命的な障害が発生する可能性があります。必要なライブラリのインストールは、以下のコマンドを管理者権限で実行してください:
Arm Compiler 5.06 update 6 は、以下のサポートされるプラットフォームでテストされています:
Cygwinとの統合のサポートとCygwinパスの変換は、各リリース時に利用可能なCygwinディストリビューションに対して検証されます。
Installersetup.exe を実行し、画面の指示に従ってください。
32-bitのインストーラのみ提供されます。ツールパッケージは、64-bitホストプラットフォーム向けに、個別に64-bit版の armlink を含むバイナリセットを含みます。詳細は、ドキュメンテーションをご参照ください。
Linuxでは、Arm Compiler 5.06 update 6のインストレーションディレクトリを削除してください。
Windowsの場合、 コントロールパネル の プログラムの追加と削除 から ARM Compiler 5.06 update 6 を選択し、 アンインストール ボタンを押下してください。
Arm Compiler 5.06 リリースシリーズの以下ドキュメントが利用可能です:
これ以上の情報は、 developer.arm.com 上の Arm Compiler 5 documentation をご参照ください。
お客様からのフィードバックは我々にとって重要です。製品のあらゆる局面において、欠陥報告と改善に関する提案を歓迎します。フィードバックあるいはサポートについて、お客様の製品の購入元あるいは、 https://developer.arm.com/support へご連絡ください。 support-sw@arm.comへメールでご連絡ください。必要に応じて、ツールからの --vsn の出力、問題を再現するのに必要なソースコードおよびその他のファイルとコマンドラインを提供してください。
以下に、Arm Compiler 5.06 シリーズのリリース日付を示します:
以下に、新しい機能と修正された不具合を含むそれぞれのリリースで変更された概要を示します。特に指定がない限り、一つ前のリリースからの変更点を示します。それぞれの項目別に分類され、ユニークな識別子SDCOMP-
[SDCOMP-48383] 特定の状況において、 -O3 -Otime または --vectorize でコンパイルするとき、コンパイラは、 unsigned 型のオペランドを持つ後置デクリメント演算子を含む制御式を使用して do while ループの誤ったコードを生成する可能性があります。この不具合は修正されました。
[SDCOMP-48226] まれに、 --vectorize を使用してコンパイルすると、ビット単位のAND演算の結果に応じて値を条件付きでネゲートする for ループまたは while ループに対して、コンパイラが誤ったコードを生成する可能性があります。 これは修正されました。
[SDCOMP-48050] 一時オブジェクトの集約初期化を含むC++11コードをコンパイルするとき、オブジェクトに非自明(non-trivial)なデストラクタが含まれていると、コンパイラは
Internal
fault:
[0x87ecef:
[SDCOMP-47432] 特定の状況において、Armv6T2、Armv7-A、Armv7-R、またはArmv7-Mターゲットのコンパイル時に、コンパイラが struct の signed long long ビットフィールドメンバへのアクセスで誤ったコードを生成する可能性があります。この不具合は修正されました。
[SDCOMP-47401]
まれに
-O3
-Otime
または
--vectorize
で
--cpp11
を指定してコンパイルすると、コンパイラは
Internal
fault:
[0x50bce4:
[SDCOMP-47393] まれに、 -O3 -Otime または --vectorize でコンパイルすると、コンパイラは、ループインデックスをエイリアスするポインタを逆参照する for ループの誤ったコードを生成する可能性があります。これにより、ループインデックスが間接参照されたときの動作が正しくない可能性があります。この不具合は修正されました。
[SDCOMP-47388] まれに、 -O3 -Otime または --vectorize でコンパイルすると、 if ブロックと else ブロックの両方の先頭に1つ以上の以下のサブステートメントが含まれている if 文を含むループに対して、コンパイラが誤ったコードを生成する可能性があります:
この不具合は修正されました。
[SDCOMP-47142] まれに、 -O1 以上でコンパイルするとき、コンパイラは、同じ場所からより大きい整数型へ8-bitあるいは16-bit値を2回ロードする関数の誤ったコードを生成する可能性があります。ロードされた値を1つのロードでは符号付きとして扱い、他のロードでは符号なしとして扱います。この不具合は修正されました。
[SDCOMP-46962] 特定の状況で、 -O2 以上でコンパイルすると、コンパイラは CPSID または CPSIE 命令だけを含むインラインアセンブリステートメントのコード生成に誤って失敗する可能性があります。この不具合は修正されました。
[SDCOMP-29406] 特定の状況において、マクロの展開ポイントで診断を報告するとき、コンパイラは、マクロ名の最初の文字ではなく、改行文字を間違って表示する可能性があります。この不具合は修正されました。
[SDCOMP-48776] まれに、A32とT32の両方の関数を含むプログラムをリンクすると、小さなT32関数をインライン展開するときに、A32分岐命令をA32ステートの UNPREDICTABLE 命令に誤って置き換える可能性があります。この不具合は修正されました。
[SDCOMP-47276] 特定の状況において、リンカ未使用セクション除去メカニズムは、リンカ-定義の入力セクションシンボルを使用して参照されるセクションのみを誤って削除する可能性があります。この不具合は修正されました。
[SDCOMP-47224] 特定の状況において、プログラムに __at セクションが含まれていると、リンカはシンボルへの参照を誤って解決する可能性があります。 これにより、影響を受けるプログラムが誤ったメモリ位置にアクセスしたり、予期しないアドレスでコードを実行したりする可能性があります。この不具合は修正されました。
[SDCOMP-29653] --edit と HIDE __scatterload_rt_thumb_only コマンドを含むステアリングをリンクすると、リンカは誤ってシンボル __scatterload_rt_thumb_only を非表示することに失敗しました。この不具合は修正されました。
[SDCOMP-22630]
特定の状況において、リード-ライトデータを含む2つ以上の
__at
セクションが、少なくとも1つのリード-オンリーセクションを含む実行領域内に配置されている場合、リンカは
Internal
fault:
[0xc0fbf2:
[SDCOMP-45990] 特定の状況において、定数書式列とともにArm Cライブラリ関数 vsscanf() を使用すると、Arm Cライブラリの不具合によりリンカが Error: L6218E: Undefined symbol __0vsscanf を報告する可能性があります。この不具合は修正されました。
[SDCOMP-48404] -c -e または --text -c -e を使用して実行可能イメージの例外テーブル情報をデコードすると、 fromelf ユーティリティは、 ARM_EXIDX テーブルを含むELFセクションとは異なるELFセクションのシンボルを参照する ARM_EXIDX テーブルエントリの不正なシンボル名とアドレス情報をレポートします。この不具合は修正されました。
[SDCOMP-48381] -c , --emit =code 、または --text -c を使用して逆アセンブリを生成すると、 fromelf ユーティリティは、PC-相対ロードまたはリロケーションを持つストア命令の不正なロード値を報告します。この不具合は修正されました。
[SDCOMP-49019] 特定の状況において、アセンブラ、コンパイラ、またはリンカプロセスが別のツールをサブ-プロセスとして起動したときに、すべての適切なライセンスが既に使用されていた場合、プロセスがデッドロックする可能性があります。この不具合は修正されました。
[SDCOMP-48808] 特定の状況において、Linuxホストプラットホームで32-bitバイナリを使用し、64-bit iノードが有効なファイルシステムを使用している場合、ツールが誤って、 Unable to determine the current toolkit. Check that ARM_TOOL_VARIANT is set correctly. ARM Compiler could not determine the product installation it is part of . を報告することがあります。この不具合は修正されました。
この解答はお客様のお役に立てましたでしょうか?