Also add a fuzzer() template for defining fuzzers that's similar to add_llvm_fuzzer in the CMake build, and a build file for dependency llvm/lib/FuzzMutate.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
llvm/utils/gn/build/fuzzer.gni | ||
---|---|---|
29 ↗ | (On Diff #179812) | I checked the LLVM add_llvm_fuzzer function and DUMMY_MAIN is just an optional argument which is only included in LLVM_OPTIONAL_SOURCES for IDE but otherwise ignored if llvm_use_sanitize_coverage or llvm_use_sanitize_coverage is set. Shouldn't this behave the same? |
llvm/utils/gn/build/fuzzer.gni | ||
---|---|---|
29 ↗ | (On Diff #179812) | This template also only uses dummy_main if llvm_lib_fuzzing_engine and llvm_use_sanitize_coverage both aren't set (see the two not_neededs) -- it tries to do the same. Maybe I got it wrong? |
LGTM
llvm/utils/gn/build/fuzzer.gni | ||
---|---|---|
29 ↗ | (On Diff #179812) | If I'm reading add_llvm_fuzzer, it's not going to give you an error if you don't pass DUMMY_MAIN while this template will. I think it's fine since you don't want the behavior of this target differ based on whether llvm_use_sanitize_coverage or llvm_use_sanitize_coverage is set or not, but I want to point out the difference. In this case it'd be probably better to change CMake to make those arguments required as well. Can you please also provide an error message for this assertion and the one below? |
llvm/utils/gn/build/fuzzer.gni | ||
---|---|---|
29 ↗ | (On Diff #179812) | Ah, I see what you mean. I agree it'd be good to always require it on the cmake side too :-) Landing with error messages added for the asserts. |