summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/Bitcode/BitReaderTest.cpp
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-12-18 19:56:42 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-12-18 19:56:42 +0000
commit081a24e3a7cf26c5190699ea8567786c9cb01797 (patch)
tree95d1e305127ae178aac4591a8cd36ce418210f1c /llvm/unittests/Bitcode/BitReaderTest.cpp
parent98052537f0fd0e627b92704f6a13b4d84d7971e8 (diff)
downloadbcm5719-llvm-081a24e3a7cf26c5190699ea8567786c9cb01797.tar.gz
bcm5719-llvm-081a24e3a7cf26c5190699ea8567786c9cb01797.zip
[UBSan] Implement runtime suppressions (PR25066).
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
Diffstat (limited to 'llvm/unittests/Bitcode/BitReaderTest.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud