[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