6

-fsanitize=undefinedを使用して clang 3.6 でアプリケーションをコンパイルした後、いくつかのエラーを無視するために抑制ファイルを使用しながら、インストルメント化されたプログラムを起動しようとしています。

UBSAN_OPTIONS="suppressions=ubsan.supp" ./app.exe

抑制ファイル ubsan.supp には以下が含まれます。

signed-integer-overflow:example.c

これにより、次のエラー メッセージが表示されます。

UndefinedBehaviorSanitizer: failed to parse suppressions

gcc 4.9 ビルドでも同じことが起こります。私が見つけることができる唯一のドキュメントはhttp://clang.llvm.org/docs/UndefinedBehaviorSanitizer.htmlです。これは clang 3.9 用ですが、3.6 を使用しています (ubsan のドキュメントは含まれていません)。

誰もがclang 3.6で動作するubsan抑制ファイルの実例を提供できますか?

編集: ubsan のソース コードを参照すると、有効な抑制タイプは "vptr_check" だけであることがわかりました。ただし、どのバージョンを見ていたかはわかりません。誰もがclang 3.9でより多くの抑制タイプが利用可能であることを確認できますか?

4

2 に答える 2