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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to