It is easy for devs to think they should be using LLVMFuzzerInitialize when they should be using static initalization, we should make it harder for devs to use it unnecessarily. Some ideas for this are:
* Documenting when it shouldn't be used - I have doubts about how effective this will be since devs have used it without us documenting it.
* Fixing examples where it is unnecessary - I think this will help as devs are probably emulating other code.
* Make a clang static analyzer pass to catch uses of LLVMFuzzerInitialize that don't use argv or argc and turn this on during fuzzer builds - probably overkill but I suspect the most thorough solution.
Comment 1 by mmoroz@chromium.org
, Jan 20 (2 days ago)