Fuzzing: Update build instructions

The project needs clang-12, which is not on all systems the default
(e.g. Debian Testing).
This commit is contained in:
Ben Wiederhake 2021-10-21 20:20:51 +02:00 committed by Linus Groh
parent e503b60bdc
commit fc519d43ba
Notes: sideshowbarker 2024-07-18 01:57:48 +09:00

View file

@ -29,11 +29,13 @@ Lagom can be used to fuzz parts of SerenityOS's code base. This requires buildli
# Or as a handy rebuild-rerun line:
ninja FuzzJs && ./Fuzzers/FuzzJs
(Note that we require clang >= 12, so depending on your package manager you may need to specify `clang++-12` and `clang-12` instead.)
Any fuzzing results (particularly slow inputs, crashes, etc.) will be dropped in the current directory.
clang emits different warnings than gcc, so you may have to remove `-Werror` in CMakeLists.txt and Meta/Lagom/CMakeLists.txt.
Fuzzers work better if you give them a fuzz corpus, e.g. `./Fuzzers/FuzzBMP ../Base/res/html/misc/bmpsuite_files/rgba32-61754.bmp` Pay attention that LLVM also likes creating new files, don't blindly commit them (yet)!
Fuzzers work better if you give them a fuzz corpus, e.g. `./Fuzzers/FuzzBMPLoader ../Base/res/html/misc/bmpsuite_files/rgba32-61754.bmp` Pay attention that LLVM also likes creating new files, don't blindly commit them (yet)!
To run several fuzz jobs in parallel, pass `-jobs=24 -workers=24`.