MarcoFalke
44444ba759
fuzz: Link all targets once
4 years ago
nsa
2b78a11b48
doc: afl fuzzing comment about afl-gcc and afl-g++
...
This commit includes a short comment in doc/fuzzing.md that gives
guidance on compiling Bitcoin Core with AFL instrumentation using
afl-gcc and afl-g++.
4 years ago
Vasil Dimov
0012471391
build: turn on --enable-c++17 by --enable-fuzz
...
Fuzzing code uses C++17 specific code (e.g. std::optional), so it is not
possible to compile with --enable-fuzz and without --enable-c++17.
Thus, turn on --enable-c++17 whenever --enable-fuzz is used.
5 years ago
Martin Zumsande
872aa25fa1
doc: add c++17-enable to fuzzing instructions
5 years ago
practicalswift
bb1ec36fb1
doc: Document how to fuzz Bitcoin Core using honggfuzz
5 years ago
practicalswift
33dd764984
doc: Add fuzzing quickstart guides for libFuzzer and afl-fuzz. Simplify instructions.
5 years ago
MarcoFalke
fa4fa88d76
doc: Remove --disable-ccache from docs
5 years ago
Fabian Jahr
b6c3e84e87
doc: Improve fuzzing docs for macOS users
5 years ago
practicalswift
595cc9bcaf
docs: Add undefined to --with-sanitizers=fuzzer,address
5 years ago
qmma
84edfc72e5
Update doc and CI config
5 years ago
MarcoFalke
fa7ca8ef58
qa: Add test/fuzz/test_runner.py
6 years ago
MarcoFalke
2ca632e5b4
test: Build fuzz targets into seperate executables
6 years ago
benthecarman
31097b7b02
docs: Spelling error fix on fuzzing.md
6 years ago
MarcoFalke
fad058a79f
build: Allow to configure --with-sanitizers=fuzzer
6 years ago
practicalswift
693247b82b
[test] Speed up fuzzing by ~200x when using afl-fuzz
...
Enable the `afl-clang-fast++` features deferred forkserver (`__AFL_INIT`) and persistent mode (`__AFL_LOOP(1000)`).
Before this patch:
```
$ afl-fuzz -i input -o output -m512 -- src/test/test_bitcoin_fuzzy
[*] Validating target binary...
[!] WARNING: The target binary is pretty slow! See /usr/local/share/doc/afl/perf_tips.txt.
[+] Here are some useful stats:
Test case count : 1 favored, 0 variable, 1 total
Bitmap range : 1072 to 1072 bits (average: 1072.00 bits)
Exec timing : 20.4k to 20.4k us (average: 20.4k us)
…
exec speed : 57.58/sec (slow!)
exec speed : 48.35/sec (slow!)
exec speed : 53.78/sec (slow!)
```
After this patch:
```
$ afl-fuzz -i input -o output -m512 -- src/test/test_bitcoin_fuzzy
[*] Validating target binary...
[+] Persistent mode binary detected.
[+] Deferred forkserver binary detected.
[+] Here are some useful stats:
Test case count : 1 favored, 0 variable, 1 total
Bitmap range : 24 to 24 bits (average: 24.00 bits)
Exec timing : 114 to 114 us (average: 114 us)
…
exec speed : 15.9k/sec
exec speed : 13.1k/sec
exec speed : 15.1k/sec
```
8 years ago
Wladimir J. van der Laan
8b15434b59
doc: Add bare-bones documentation for fuzzing
8 years ago