[PATCH] D32199: [TBAASan] A TBAA Sanitizer (Clang)
Filipe Cabecinhas via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 19 10:19:28 PDT 2017
filcab added a comment.
Missing a `sanitizer-ld.c` test for freebsd.
================
Comment at: include/clang/Basic/Attr.td:1849
+ GNU<"no_sanitize_memory">,
+ GNU<"no_sanitize_tbaa">];
let Subjects = SubjectList<[Function, GlobalVar], ErrorDiag,
----------------
Shouldn't you be extending the no_sanitize attribute instead, as it says in the comment?
================
Comment at: lib/CodeGen/CodeGenModule.cpp:130
if (LangOpts.Sanitize.has(SanitizerKind::Thread) ||
+ LangOpts.Sanitize.has(SanitizerKind::TBAA) ||
(!CodeGenOpts.RelaxedAliasing && CodeGenOpts.OptimizationLevel > 0))
----------------
`hasOneOf(SanitizerKind::Thread | SanitizerKind::TBAA)`?
================
Comment at: lib/CodeGen/CodeGenTBAA.cpp:96
+ if (!Features.Sanitize.has(SanitizerKind::TBAA) &&
+ (CodeGenOpts.OptimizationLevel == 0 || CodeGenOpts.RelaxedAliasing))
return nullptr;
----------------
Interesting that TSan needs TBAA (per the comment in the chunk above), but is not in this condition.
https://reviews.llvm.org/D32199
More information about the cfe-commits
mailing list