[PATCH] D51008: Enable -fsanitize=fuzzer and -fsanitize=fuzzer-no-link on Windows.
Jonathan Metzman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 20 17:50:34 PDT 2018
metzman added inline comments.
================
Comment at: lib/Driver/ToolChains/MSVC.cpp:373
+ TC.getCompilerRTArgString(Args, "fuzzer", false)));
+ CmdArgs.push_back(Args.MakeArgString("-debug"));
+ // Prevent the linker from padding sections we use for instrumentation
----------------
morehouse wrote:
> Why is `-debug` needed?
Without it, libFuzzer quits early with the following error message:
```
ERROR: no interesting inputs were found. Is the code instrumented for coverage? Exiting.
```
I think it's because `sancov.module_ctor` isn't executed (or it isn't calling the init functions in libFuzzer), but I'm not 100% sure about this (or why this is the case).
I guess `-debug` isn't strictly necessary because I don't have libFuzzer working perfectly without ASAN yet (I always get warnings from libFuzzer about `__sanitizer_print_stack_trace`, `__sanitizer_acquire_crash_state`, and `__sanitizer_set_death_callback` being missing) and ASAN includes this argument (as well as `-incremental:no`, removing this line doesn't break anything as long as we always compile with ASAN).
Do you think I should remove these two arguments?
I was planning on tracking down why exactly this occurs later on, but I'm fine doing this now.
Repository:
rC Clang
https://reviews.llvm.org/D51008
More information about the cfe-commits
mailing list