【发布时间】:2016-03-04 17:55:09
【问题描述】:
使用 -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 中有更多的抑制类型可用?
【问题讨论】: