forked from OSchip/llvm-project
081a24e3a7
Summary: Add the ability to suppress UBSan reports for files/functions/modules at runtime. The user can now pass UBSAN_OPTIONS=suppressions=supp.txt with the contents of the form: signed-integer-overflow:file-with-known-overflow.cpp alignment:function_doing_unaligned_access vptr:shared_object_with_vptr_failures.so Suppression categories match the arguments passed to -fsanitize= flag (although, see below). There is no overhead if suppressions are not provided. Otherwise there is extra overhead for symbolization. Limitations: 1) sometimes suppressions need debug info / symbol table to function properly (although sometimes frontend generates enough info to do the match). 2) it's only possible to suppress recoverable UB kinds - if you've built the code with -fno-sanitize-recover=undefined, suppressions will not work. 3) categories are fine-grained check kinds, not groups like "undefined" or "integer", so you can't write "undefined:file_with_ub.cc". Reviewers: rsmith, kcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D15363 llvm-svn: 256018 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Makefile.mk | ||
ubsan.syms.extra | ||
ubsan_checks.inc | ||
ubsan_diag.cc | ||
ubsan_diag.h | ||
ubsan_flags.cc | ||
ubsan_flags.h | ||
ubsan_flags.inc | ||
ubsan_handlers.cc | ||
ubsan_handlers.h | ||
ubsan_handlers_cxx.cc | ||
ubsan_handlers_cxx.h | ||
ubsan_init.cc | ||
ubsan_init.h | ||
ubsan_init_standalone.cc | ||
ubsan_platform.h | ||
ubsan_type_hash.cc | ||
ubsan_type_hash.h | ||
ubsan_type_hash_itanium.cc | ||
ubsan_type_hash_win.cc | ||
ubsan_value.cc | ||
ubsan_value.h |