Cargo Features
[dependencies]
libafl_qemu = { version = "0.14.0", default-features = false, features = ["document-features", "paranoid_debug", "injections", "python", "fork", "build_libgasan", "build_libqasan", "x86_64", "i386", "arm", "aarch64", "mips", "ppc", "hexagon", "riscv32", "riscv64", "be", "usermode", "systemmode", "serdeany_autoreg", "slirp", "shared", "clippy"] }
- default = build_libgasan, build_libqasan, fork, injections, serdeany_autoreg, usermode
-
These default features are set whenever
libafl_qemu
is added without
somewhere in the dependency tree.default-features = false - 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 fuzzingAffects
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
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
- riscv32
-
build qemu for riscv 32bit
Enables riscv32 of libafl_qemu_sys
- riscv64
-
build qemu for riscv 64bit
Enables riscv64 of libafl_qemu_sys
Affects
riscv::GuestReg
… - be
-
Big Endian mode
Enables be of libafl_qemu_sys
- usermode default
-
Usermode (mutually exclusive to Systemmode)
Enables usermode of libafl_qemu_sys
Affects
hooks::crash_hook_wrapper
,cmplog::CmpLogRoutinesModule
,modules::usermode
,modules::StdPageFilter
,config::Program
,hooks::CrashHookFn
,hooks::CrashHookClosure
… - systemmode slirp?
-
Systemmode (mutually exclusive to Usermode)
Enables systemmode of libafl_qemu_sys
Affects
command::PageAllowCommand
,modules::systemmode
,modules::EmulatorModule.page_filter
,modules::EmulatorModule.page_filter_mut
,modules::EmulatorModule.update_page_filter
,modules::EmulatorModuleTuple.allow_page_id_all
,modules::StdPageFilter
,config::Accelerator
,config::Bios
,config::Kernel
… - 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
-
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?
-
Enables pyo3 ^0.22.3
- pyo3-build-config build python?
-
Enables pyo3-build-config ^0.22.3