Cargo Features

[dependencies]
libafl_qemu = { version = "0.13.2", default-features = false, features = ["document-features", "paranoid_debug", "injections", "python", "fork", "build_libgasan", "build_libqasan", "x86_64", "i386", "arm", "aarch64", "mips", "ppc", "hexagon", "be", "usermode", "systemmode", "serdeany_autoreg", "slirp", "shared", "clippy"] }
default = build_libgasan, build_libqasan, fork, injections, serdeany_autoreg

These default features are set whenever libafl_qemu is added without default-features = false somewhere in the dependency tree.

document-features

Enables document-features

Document all features of this crate (for cargo doc)

paranoid_debug

Will perform as many checks as possible. The target will be greatly slowed down.

Enables paranoid_debug of libafl_qemu_sys

injections default = serde_yaml, toml

# Feature Flags
### General Features
Find injections during fuzzing

Affects usermode::injections

python = pyo3, pyo3-build-config

Python bindings support

Enables python of libafl_qemu_sys

Affects libafl_qemu::python_module, qemu::pybind, usermode::pybind

fork default

Fork support

Enables fork of libafl

Affects executor::QemuForkExecutor

build_libgasan default

Build libqasan for address sanitization

build_libqasan default
x86_64

The following architecture features are mutually exclusive.

build qemu for x86_64 (default)

Enables x86_64 of libafl_qemu_sys

i386

build qemu for i386

Enables i386 of libafl_qemu_sys

arm

build qemu for arm

Enables arm of libafl_qemu_sys

aarch64

build qemu for aarch64

Enables aarch64 of libafl_qemu_sys

mips

build qemu for mips (el, use with the 'be' feature of mips be)

Enables mips of libafl_qemu_sys

ppc

build qemu for powerpc

Enables ppc of libafl_qemu_sys

hexagon

build qemu for hexagon

Enables hexagon of libafl_qemu_sys

be

Big Endian mode

Enables be of libafl_qemu_sys

usermode

Usermode (mutually exclusive to Systemmode)

Enables usermode of libafl_qemu_sys

systemmode slirp?

Systemmode (mutually exclusive to Usermode)

Enables systemmode of libafl_qemu_sys

serdeany_autoreg default

SerdeAny features

Automatically register all #[derive(SerdeAny)] types at startup.

Enables serdeany_autoreg of libafl_bolts

slirp = systemmode

build qemu with host libslirp (for user networking)

Enables slirp of libafl_qemu_sys

shared

Requires the binary's build.rs to call build_libafl_qemu

Enables shared of libafl_qemu_sys

clippy

Internal features, don't use in normal projects

clippy workaround

Enables clippy of libafl_qemu_sys

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

serde_yaml injections

Enables serde_yaml

For parsing the injections yaml file

toml injections

Enables toml

For parsing the injections toml file

pyo3 python?
pyo3-build-config build python?