summaryrefslogtreecommitdiff
path: root/Meta/Lagom/ReadMe.md
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2020-07-13 14:57:59 -0400
committerAndreas Kling <kling@serenityos.org>2020-07-14 17:45:16 +0200
commit417caeb14acaaa775b1a5fa11ed277874e6a1a71 (patch)
treeb201bf949dd521ecc69352db91fbddf130c20744 /Meta/Lagom/ReadMe.md
parentd6c7cdce9837c90c5231ff1698f25b2822bb2e32 (diff)
downloadserenity-417caeb14acaaa775b1a5fa11ed277874e6a1a71.zip
Lagom: Add a note on how to build the fuzzers to readme
Diffstat (limited to 'Meta/Lagom/ReadMe.md')
-rw-r--r--Meta/Lagom/ReadMe.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/Meta/Lagom/ReadMe.md b/Meta/Lagom/ReadMe.md
index 7af0c974b9..42cfed428d 100644
--- a/Meta/Lagom/ReadMe.md
+++ b/Meta/Lagom/ReadMe.md
@@ -7,3 +7,14 @@ The Serenity C++ library, for other Operating Systems.
If you want to bring the comfortable Serenity classes with you to another system, look no further. This is basically a "port" of the `AK` and `LibCore` libraries to generic \*nix systems.
*Lagom* is a Swedish word that means "just the right amount." ([Wikipedia](https://en.wikipedia.org/wiki/Lagom))
+
+## Fuzzing
+
+Lagom can be used to fuzz parts of SerenityOS's code base. This requires buildling with `clang`, so it's convenient to use a different build directory for that. Run CMake like so:
+
+ # From the root of the SerenityOS checkout:
+ mkdir BuildLagom && cd BuildLagom
+ cmake -GNinja -DBUILD_LAGOM=ON -DENABLE_FUZZER_SANITIZER=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
+ ninja FuzzJs && Meta/Lagom/Fuzzers/FuzzJs
+
+clang emits different warnings than gcc, so you'll likely have to remove `-Werror` in CMakeLists.txt and Meta/Lagom/CMakeLIsts.txt.