Oracle® Solaris Studio 12.4: C++ ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

1.4 バイナリの互換性の妥当性検査

Oracle Solaris システムでは、Oracle Solaris Studio コンパイラによってコンパイルされたプログラムのバイナリには、そのコンパイル済みバイナリによって想定されている命令セットを示すアーキテクチャーハードウェアフラグが付いています。実行時にこれらのマーカーフラグがチェックされ、実行しようとしているハードウェアで、そのバイナリが実行できることが検証されます。

プログラムにこれらのアーキテクチャーハードウェアフラグが含まれない場合、またはプラットフォームが適切な機能または命令セット拡張に対応していない場合、プログラムを実行することによりセグメント例外、または明示的な警告メッセージなしの不正な結果が発生することがあります。

ただし、Linux ではそのような検証は行われません。古いハードウェアプラットフォームの Oracle Solaris Studio のコンパイラでコンパイルされたバイナリオブジェクトを実行すると、ランタイムエラーになることがあります。Linux では、それらのバイナリを適切なハードウェアプラットフォームにデプロイすることはユーザーの責任です。

この警告は、.il インラインアセンブリ言語関数を使用しているプログラムや、SSE、SSE2、SSE2a、SSE3、およびより新しい命令と拡張機能を利用している __asm() アセンブラコードにも当てはまります。