
* Start on qemu_tmin * WIP * qemu_tmin working for single testcase. Also some comment improvements. * Add env_logger to baby_fuzzer * Remove old reference. * Added comment doc for qemu_tmin. * Slight reorder for parallelisation * Finished single-thread qemu_tmin * Finishing touches to single thread version. * A pre_commit.sh change I didn't notice. * Duplicate to attempt multi-threaded version * Fix taplo whine. Mark "fork" mode as broken. * Launcher for parallelisation implemented, but for one core. * Running in parallel. Now need tidy up. * Parallel version complete. * Add comment * Merged single-core/multi-core qemu_tmin into one crate * Removed forkexecutor mode. * Precommit fixes * Add qemu_tmin to build_and_test.yml * Clippy fixes * Change tmin test cores to 0.
46 lines
862 B
Markdown
46 lines
862 B
Markdown
# qemu_tmin
|
|
|
|
QEMU testcase minimizer.
|
|
|
|
This folder contains an example fuzzer which runs each entry in the input corpus
|
|
and minimizes the input, ensuring that coverage map remains the same. The output
|
|
is a new corpus that may or may not be smaller than the original inputs, but
|
|
will not be larger.
|
|
|
|
If some input files are idential, only one of each duplicate set will be kept
|
|
for minimization.
|
|
|
|
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
|
|
just run
|
|
```
|
|
|
|
```bash
|
|
just <arch>
|
|
```
|