[PATCH] D32199: [TBAASan] A TBAA Sanitizer (Clang)

Hal Finkel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 19 14:55:14 PDT 2017


hfinkel added a comment.

In https://reviews.llvm.org/D32199#730716, @filcab wrote:

> Missing a `sanitizer-ld.c` test for freebsd.


Thanks for pointing this out. I'm going to remove the freebsd change for now. I suspect it works, but I've not tested it yet.



================
Comment at: include/clang/Basic/Attr.td:1849
+                   GNU<"no_sanitize_memory">,
+                   GNU<"no_sanitize_tbaa">];
   let Subjects = SubjectList<[Function, GlobalVar], ErrorDiag,
----------------
filcab wrote:
> Shouldn't you be extending the no_sanitize attribute instead, as it says in the comment?
Indeed. I think that happened also. I'll make sure the tests reflect that.


================
Comment at: lib/CodeGen/CodeGenTBAA.cpp:96
+  if (!Features.Sanitize.has(SanitizerKind::TBAA) &&
+      (CodeGenOpts.OptimizationLevel == 0 || CodeGenOpts.RelaxedAliasing))
     return nullptr;
----------------
filcab wrote:
> Interesting that TSan needs TBAA (per the comment in the chunk above), but is not in this condition.
Yea, I didn't understand the TSan-needs-TBAA bit either (considering that it does not need it at -O0?).


https://reviews.llvm.org/D32199





More information about the cfe-commits mailing list