dokyungs added a comment. In D83494#2148043 <https://reviews.llvm.org/D83494#2148043>, @hctim wrote:
> In D83494#2147608 <https://reviews.llvm.org/D83494#2147608>, @dokyungs wrote: > > > Builtin libfunc optimizations may transform memcmp and strcmp-like > > functions. To disable such optimizations, -fno-builtin= flag was > > additionally added in compiling new test cases. FWIW, the original test > > cases didn't require such flags since other sanitizers including ASan > > disables those optimizations in their LLVM pass by dropping libfunc > > attribute in the call instructions. > > > It sounds like we need to add `-fno-builtin` in the clang driver when > building with sancov as well. Otherwise, users won't get any benefit of this > patch without doing `clang++ -fsanitize=fuzzer my_fuzz_target.cpp > -fno-builtin-strstr -fno-builtin-strncmp -fno-builtin-strcmp > -fno-builtin-memcmp`? Right. Apparently with `-O2` many calls to `memcmp`-like functions are removed. I just wondered, though, what makes more sense: disabling such optimization when building (i) with sancov, or (ii) with `-fsanitize=fuzzer`? If we go for (i), would it make sense to do it in the SanitizerCoverage module pass like other sanitizers do? What do you think? Also, can it be addressed in a follow-up patch? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D83494/new/ https://reviews.llvm.org/D83494 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits