パッチプログラムをダウンロードするには、事前にARM社のコネクトサービスのアカウントを取得し、ログインしておく必要があります。アカウントの取得は以下のURL から無償で行う事ができます:
https://login.arm.com/register.php
ARM Compiler toolchain v5.05 u1(build 106)
このARM Compiler Toolchain v5.05 u1(Build 106) は、ARM Compiler 5 製品のアップデートとして使用されることを意図しており、こららのいずれかの製品のライセンスと共に使用しなければなりません。このアップデートは、ARM DS-5プロダクト内のARM Compilerをアップデートするには適していません。ARM Compiler 5の様々な機能リリースは、同一のマシンに共存インストール可能です。同一の機能リリースに対する複数のアップデートバージョン(例:5.01u1と5.01u2)を同一マシンにインストールすることはサポートされておりません。
DS-5のパッチは、ARM社のWebサイトよりダウンロード可能です。
https://silver.arm.com/browse/DS500
このアップデートは、最新のコンパイラおよび、リンカ、アセンブラ、 fromelf、およびarmarの実行可能形式と、インクルードファイルおよびC / C++ ライブラリから構成されています。
サポートされるOSプラットフォーム
Windows XP Service Pack 3 (32-bit only) Windows Server 2003 (非推奨) Windows Server 2008 R2 Windows Server 2012 (64-bit only) Windows 7 Enterprise SP1 Windows 7 Professional SP1 Windows 8 (64-bit only) RedHat Enterprise Linux 5 Desktop and Workstation option, Standard RedHat Enterprise Linux 6 Desktop and Workstation option, Standard Ubuntu Desktop Edition 12.04 LTS Ubuntu Desktop Edition 14.04 LTS (64-bit only)
Red Hat Enterprise Linux 6では時折デフォルトで32-bit互換ライブラリなしでインストールされることがあります。ARM CompilerをRed Hat Enterprise Linux 6で使用される場合は、32-bit Compatibility Libraryサポートをインストールする必要があります。 特にARM Compilerではglibcとlibmを必要とします。これらをインストールするには、yumコマンドが正しくセットアップされていることを確認したうえで、以下を入力してください:
# yum groupinstall "Compatibility Libraries"
パッチをインストールするには以下の手順で行います
Linux の場合
1.上記サイトからパッチプログラムをダウンロードしてください。
2.tgz ファイルをテンポラリディレクトリに解凍してください。
3.Installer ディレクトリ内の "setup.sh" を実行し、画面の指示に従って、ARM Compiler v5.05をインストールしてください。
4.これでアップデートツールがインストールされます。
Windows の場合
1.上記サイトからパッチプログラムをダウンロードしてください。
2.ZIP ファイルをテンポラリディレクトリに解凍してください。
3.Installer ディレクトリ内の "setup.exe" をダブルクリックし、インストーラの画面の指示に従って、ARM Compiler v5.05 u1をインストールしてください。
4.これでアップデートツールがインストールされます。
v5.05 u1での注意点
ARM Compiler 5.05以降、ライセンスサーバソフトウェアはFlexNet Publisher 11.12.1.0以降を使用します。このバージョンは以前のFlexNet Publisherライセンスサーバソフトウェアと互換性がありません。 フローティングライセンスをご使用の場合は、armlmdおよびlmgrdをversion 11.12.1.0以降にアップデートする必要があります。 旧バージョンのライセンスサーバソフトウェアを使用している場合、ARM Compiler 5.05以降では次のエラーをレポートします: FLEXnet Licensing error:-7,10015 FlexNet Publisher 11.12.1.0以降のバージョンは https://silver.arm.com/browse/BX002 からダウンロード可能です。(登録およびログインが必要です)
v5.05 u1での修正
Compiler(armcc)
- [SDCOMP-26156] -O2 以上の最適化レベルで、 -Otime を使用してThumb状態のコードをコンパイルする際、ADDS命令でイミディエイトとして使用することのできない値を使った比較を含むコードを生成し、コンパイラが Internal fault をレポートする事がありました。
- [SDCOMP-26041] --cpu=SC300 において __attribute__((bitband)) を含むコードをコンパイルする際、コンパイラが不正に Error: #1114: this feature not supported on target architecture/processor をレポートすることがありました。
- [SDCOMP-25982] ビットフィールドコンテナがビットフィールドコンテナ型よりも小さく1バイトよりも大きい場合にコンパイラは構造体の volatile ビットフィールドメンバに対し、誤ったアクセスコードを生成することがありました。
- [SDCOMP-25893] -O1 以上の最適化レベルにおいて、 packed または aligned を伴って宣言された構造体の long long または unsigned long long のビットフィールドを読み出す際に構造体の領域を超えたメモリからデータをロードするコードを誤って生成する事がありました。
- [SDCOMP-25767] __declspec(noreturn) と void の戻り値の両方を伴って宣言された main() 関数のコンパイル時、誤って Warning: #951-D: return type of function "main" must be "int" をレポートする事がありました。
- [SDCOMP-25741] -O3 -Otime 使用時、ループ本体が実質的に空であるようなループの最適化時、ループ帰納変数に対する不正なコードを生成することがありました。たとえば、 if (0) の式が該当します。継続するコードがループ変数の値に対して依存性を持つ場合、不正な動作を引き起こすことがありました。
- [SDCOMP-25720] __ldrex または __strex 組み込み関数のコンパイル時、ポインタ引数が'整数型へのポインタ'または'ポインタ型へのポインタ'以外のポインタ型である場合誤って Error: #31: expression must have integral type をレポートすることがありました。
- [SDCOMP-25716] 非volatileと volatile ビットフィールドの両方を含む構造体のコピー代入について不正なコードを生成することがありました。
- [SDCOMP-16861] 特定の状況下において、NEON組み込み関数を含むコードのコンパイル時に Internal fault をレポートすることがありました。
Assembler (armasm)
- [SDCOMP-25645] ARMv7-Mプロセッサ向けにMSR命令をアセンブルする際、 IAPSR , EAPSR および XPSR レジスタに対する _ 識別子を意識しないことがありました。
Libraries
- [SDCOMP-25331] 厳密に-1から+1の間の実数の複素逆sineの計算時、 casin() , casinf() および casinl() ライブラリ関数が誤って結果の仮数部として0の代わりにNaNを返すことがありました。
その他の問題
- [SDCOMP-26085] 特定の環境下において、各ツールが意図しないライセンスエラー 9558E: System clock tampering detected を返すことがありました。