This is an archive of the discontinued LLVM Phabricator instance.

Adding type-string based blacklist for sanitizers
AbandonedPublic

Authored by byoungyoung on Jul 7 2014, 8:43 AM.

Details

Summary

While I'm working on applying Undefined Sanitizer's vptr, I found that existing blacklisting methods (source file names or function names) do not fit well to handle many false positive cases for Undefined Sanitizer (e.g., a template class, which causes a false positive, is used in all over different places).

Thus, we have added type-string based blacklisting. Please note that this blacklisting is not based on any LLVM internal types (e.g., Module/Function), but simply based on generic "string" types. This is because UBsan instruments in the Clang's CodeGen phase and unrolls type information into the "string" from Clang specific QualType, which is not visible for LLVM.

Diff Detail

Event Timeline

byoungyoung updated this revision to Diff 11118.Jul 7 2014, 8:43 AM
byoungyoung retitled this revision from to Adding type-string based blacklist for sanitizers.
byoungyoung updated this object.
byoungyoung edited the test plan for this revision. (Show Details)
byoungyoung added reviewers: rsmith, samsonov, kcc.
byoungyoung added a subscriber: Unknown Object (MLST).
samsonov edited edge metadata.Jul 8 2014, 5:29 PM

Hi!

Thanks for working on this! Sorry for delay in the review, I am currently working on moving sanitizer blacklist functionality (except for the stuff used in DFSsan) to Clang, and will return to this patch when this is done (then this patch will hopefully be minimized!)

byoungyoung abandoned this revision.Jul 10 2014, 2:18 PM