
* Add sample fuzzer which collects DrCov coverage for various architectures using QEMU instrumentation * Fix clippy * Rename NullCorpus to NopCorpus * Added support for verbose output * Attempt to fix clippy again * Fix remaining defaults to use x86_64 when no arch specified and be more robust handling partial builds * Make build even more robust against partial re-builds * Added missing dependencies to workflow, updated README * Add missing dependencies for i386 * Another dependency * More dependencies * Disable tests on OSX * Add tmate * Add missing dependencies and symlink header directory * Tidy up after test so we don't hog all the disk space --------- Co-authored-by: Your Name <you@example.com>
40 lines
734 B
Markdown
40 lines
734 B
Markdown
# qemu-coverage
|
|
|
|
This folder contains an example fuzzer which runs each entry in the input corpus and collects
|
|
the cumuative coverage data in drcov format. This fuzzer also distributes the test cases in
|
|
the input corupus evenly across the selected cores.
|
|
|
|
The following architectures are supported:
|
|
* arm
|
|
* aarch64
|
|
* i386
|
|
* x86_64
|
|
* mips
|
|
* ppc
|
|
|
|
## Prerequisites
|
|
```bash
|
|
sudo apt install \
|
|
gcc-arm-linux-gnueabi \
|
|
g++-arm-linux-gnueabi \
|
|
gcc-aarch64-linux-gnu \
|
|
g++-aarch64-linux-gnu \
|
|
gcc \
|
|
g++ \
|
|
gcc-mipsel-linux-gnu \
|
|
g++-mipsel-linux-gnu \
|
|
gcc-powerpc-linux-gnu \
|
|
g++-powerpc-linux-gnu
|
|
```
|
|
|
|
## Run
|
|
|
|
Defaults to `x86_64` architecture
|
|
```bash
|
|
cargo make run
|
|
```
|
|
|
|
```bash
|
|
cargo make <arch>
|
|
```
|