私は、大きな配列のインデックスがint
を使って計算されるCライブラリを使っています。 問題のあるコード行に絞り込むために、実行時に整数オーバーフローをトラップする方法を見つける必要があります。 libcの手動状態:整数のオーバーフローを検出する
FPE_INTOVF_TRAP 整数オーバーフロー(Cプログラムでは不可能あなたは、ハードウェア固有の方法でトラップオーバーフローを有効にしない限り)。
ただし、gccオプション-ffpe-trap
では、FP番号のみが適用されることが示唆されていますか?
整数オーバーフロートラップを有効にする方法はありますか?私のシステムはXeon/Core2、gcc-4.x、Linux 2.6です。
私は同様の質問を見てきましたが、それらはすべてコード修正に沸きます。私はどのコードが最初に問題があるかを知る必要があります。
Xeonsがオーバーフローをトラップできない場合、どのプロセッサが可能ですか?私はemt64以外のマシンにもアクセスできます。
私はllvm用に設計されたツールを見つけました:http://embed.cs.utah.edu/ioc/ gcc/iccでは同等の機能はないようですか?
私が知る限り、x86プロセッサは整数オーバーフローのトラッピングをサポートしていません。多くのRISC cpus do(powerとsparcはどちらも最低)、古いミニ/メインフレームCPU(VAXなど) –
Powerを試すことができ、VAXは存在しません。 – Anycorn