* just port for binary only / systemmode fuzzers
* introduce just libraries, with pre-initialized variables and common recipes
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* remove UsesInput from libafl_qemu
* Insert I bound instead of ugly Corpus::Input stuff
* Uses a C generic for Commands
* adapt nyx api to new generics
* add qemu linux fuzzers to CI for building.
* Qemu config refactoring.
* QEMU error refactoring.
* Single QEMU init function.
* Light refactor of EmulatorModules.
* Qemu is now a parameter to EmulatorModule callbacks and most function hooks.
* EmulatorModules is initialized before QEMU is initialized.
* refactor asan and asanguest modules to avoid custom init of QEMU and use the module interface instead.
* asan fixed size accesses working with generics.
* use pre_syscall_* and post_syscall_* everywhere for consistency.
* adapt qemu_launcher example to fully work with Emulator, since Qemu must now be initialized by Emulator.
* start writing Emulator / EmulatorBuilder / QemuConfig doc.
* fix broken intel pt doc.
`I` is unused in `::new` and thus requires callers to explicitly specify
any type as it can't be determined by type inference.
Clippy's `extra_unused_type_parameters` should pick this up, but is
tuned a bit too conservative in order to avoid false positives AFAICT.
* Replace addr_of with &raw across the codebase
* fix fixes
* more fix
* undo clang fmt?
* oops
* fix?
* allocator fix
* more fix
* more more
* more docs
* more fix
* mas mas mas
* hm
* more
* fix Frida
* needed
* more error
* qemu
* clean clippy warnings from fuzzers/binary_only/*
* handle unused Results in fuzzers/binary_only/*
* format fuzzers/binary_only/qemu_cmin
* use unchecked memory write in qemu fuzzer examples
* create file_null in fuzzbench_fork_qemu
* change fuzzbench_qemu
* real test
* fix qemu crash hook
* update bindings
* fix fork executor, reduce trait bound overhead
* make EdgeModule depend on observer to get ptrs.
* do not make EdgeCoverageModule::new public
* map observer as builder call
* adapt examples with new edge coverage module builder.
* TMP: everyone is a variable length map observer
* reuse profile path script
* fix absolute paths
* remove some dependencies to make pipeline faster
* compile-time builder initialization check
---------
Co-authored-by: Romain Malmain <romain.malmain@pm.me>
* versioning unification: use x.y.z format everywhere
* do not compile low-level logs (< info level) by default in fuzzers
* update dependencies to the latest versions
* add members to workspace.
* use workspace for common dependencies
* add vscode native support
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* Move fuzzers around some more
* back to baby
* this was missing..
* shuffeling shuffeling
* shuffeling
* md
* cleanup
* oops
* Move foldername to underscore
* more doc