forked from OSchip/llvm-project
d45054dbd2
Summary: As discussed in https://github.com/google/oss-fuzz/issues/933, it would be really awesome to be able to use ThinLTO for fuzzing. However, as @kcc has pointed out, it is currently undefined (untested) whether the sanitizers actually function properly with LLD and/or LTO. This patch is inspired by the cfi test, which already do test with LTO (and/or LLD), since LTO is required for CFI to function. I started with UBSan, because it's cmakelists / lit.* files appeared to be the cleanest. This patch adds the infrastructure to easily add LLD and/or LTO sub-variants of the existing lit test configurations. Also, this patch adds the LLD flavor, that explicitly does use LLD to link. The check-ubsan does pass on my machine. And to minimize the [initial] potential buildbot breakage i have put some restrictions on this flavour. Please review carefully, i have not worked with lit/sanitizer tests before. The original attempt, r319525 was reverted in r319526 due to the failures in compiler-rt standalone builds. Reviewers: eugenis, vitalybuka Reviewed By: eugenis Subscribers: #sanitizers, pcc, kubamracek, mgorny, llvm-commits, mehdi_amini, inglorion, kcc Differential Revision: https://reviews.llvm.org/D39508 llvm-svn: 319575 |
||
---|---|---|
.. | ||
cross-dso | ||
icall | ||
CMakeLists.txt | ||
README.txt | ||
anon-namespace.cpp | ||
bad-cast.cpp | ||
bad-split.cpp | ||
base-derived-destructor.cpp | ||
create-derivers.test | ||
lit.cfg | ||
lit.site.cfg.in | ||
multiple-inheritance.cpp | ||
nvcall.cpp | ||
overwrite.cpp | ||
sibling.cpp | ||
simple-fail.cpp | ||
simple-pass.cpp | ||
stats.cpp | ||
target_uninstrumented.cpp | ||
two-vcalls.cpp | ||
utils.h | ||
vdtor.cpp | ||
vtable-may-alias.cpp |
README.txt
The tests in this directory use a common convention for exercising the functionality associated with bit sets of different sizes. When certain macros are defined the tests instantiate classes that force the bit sets to be of certain sizes. - B32 forces 32-bit bit sets. - B64 forces 64-bit bit sets. - BM forces memory bit sets.