Skip to content

Commit

Permalink
doc: update fuzz instructions when on macOS
Browse files Browse the repository at this point in the history
Default linker on macOS does not work with recent versions of LLVM. Updated the instructions for fuzzing to use lld instead.
  • Loading branch information
m3dwards committed Mar 4, 2025
1 parent 15717f0 commit 5869ac8
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions doc/fuzzing.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,13 +153,16 @@ You may also need to take care of giving the correct path for `clang` and
`clang++`, like `CC=/path/to/clang CXX=/path/to/clang++` if the non-systems
`clang` does not come first in your path.
Full configuration step that was tested on macOS with `brew` installed `llvm`:
Using lld is required to due to issues with Apples ld and LLVM.
Full configuration step for macOS:
```sh
$ brew install llvm lld
$ cmake --preset=libfuzzer \
-DCMAKE_C_COMPILER="$(brew --prefix llvm)/bin/clang" \
-DCMAKE_CXX_COMPILER="$(brew --prefix llvm)/bin/clang++" \
-DAPPEND_LDFLAGS=-Wl,-no_warn_duplicate_libraries
-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld"
```
Read the [libFuzzer documentation](https://llvm.org/docs/LibFuzzer.html) for more information. This [libFuzzer tutorial](https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md) might also be of interest.
Expand Down

0 comments on commit 5869ac8

Please sign in to comment.