* run qemu fuzzers (qemu_systemmode only for now) in self-hosted runners
* Remove qemu-related fuzzers to general fuzzers
* fix
* Install dependencies before anything else
* Do not use sudo
* Install sudo
* Revert "Install dependencies before anything else"
This reverts commit 107addad5d9f68dec5a9af50831112cd72c28f4d.
* added qemu specific prerequisites
* add -y flag
* Format with nightly
* Do not use nightly only.
Install fmt and clippy for stable as well.
* Install qemu-img for qemu
* fix qemu-img install
* apt update
* Changed timeout.
* Fix qemu_systemmode test
* fmt
* clippy + decorrelate build and run for qemu_systemmode.
* fix fuzzer
* clippy
* add sqlite3-dev to package prerequisites.
* add arm-none-eabi-gcc
* fix profile dir
* fix condition.
* Run less QEMU stuff faster
---------
Co-authored-by: Toka <tokazerkje@outlook.com>
* speed up cargo check
* fix
* composite
* plural
* wrong name
* go brrrrrrrr
* bash
* aaaaa
* why not even more?
* more composite
* fix
* miri
* test for llvm >= 16
* v2
* v2
* naaaa
* JUST MORE INSTANCES
* aa
* fix
* no bash for windows
* reduce a bit as some guys are delayed
* no deps
* Build cargo-fuzz end to end
* Workaroudn failing CI
* Fix toml
* Build
* Exclude from workspace
* Fix version
* Fix workspace
* Fix workspace
* FIx workspace
* Fix path
* Set path correctly
* Install llvm-tools
* Test with distro llvm installed
* Use build
* complete
* remove from includes
* add back fuzzer tests, format
* add test for whether all fuzzers are actually tested in pipeline
* whoops
* I hate CI I hate CI I hate CI
* revert removal of llvm
* sh compatibility
* sigh
---------
Co-authored-by: Max Ammann <max@maxammann.org>
* CI: Don't run cargo clean in order to preserve build caches
* CI: run yaml formatter >:)
* CI: try sharing build caches between similar jobs
* CI: it looks like the `ucd-generate` tool is not used anymore
* CI: Sneak in merge queue support :)
* CI: split out `cargo fmt --check` job
* libafl_qemu injections: be more resilient about mapping paths
* ci
* ci
* ci
* aa
* aa
* a
* a
* a
* fix
* no fail fast
* system
* what is this lint...
* a
* clp
* disk
* ok no fastfail
* no qemu for now, reenable monday
* Added backdoors to portable header file.
* fix arm macros.
* copy `libafl_qemu.h` in target directory.
* Merged all qemu_systemmode examples into one, settable with features.
Automatic building using `Makefile.toml`
* fix typo.
* added test of QEMU systemmode fuzzers.
* replace test by build for now.
* Make fuzzers/tinyinst_simple support Linux (#1316)
Fix a documentation error for `MmapShMemProvider`.
* Support shmem for `fuzzers/tinyinst_simple` on Linux.
Format code.
* Fix CI to install cxxbridge-cmd.
* Add `CARGO_TARGET_DIR` in makefile to fix CI.
* POC attempt to make cmplog work on x64
windows POC seems working
unix POC seems working :)
* no register collisions
* rsp-related ref support
iced optional dep
iced depends on cmplog
warnings
one more warning
comments cleanup
ci unbreak
rebase windows unbreak
rebase unix unbreak
unix only
fmt check
clang formatting
clang formatting again
make clippy happy
formatting
double import
windows unbreak
hashmap is conditional
leftover definition
tutorial related formatter
review fixes
comments
.asm fuzz targets for cmplog on Windows
more tests
rip-relative reference support without index register form
proper ignore rip-related references and ignore 8 bit comparisons
another try_into packing
* harness modification reverted
* dummy commit to restart CI
* review comments
---------
Co-authored-by: sbarsky <sbarsky@denuvo.com>
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* Clang-format latest
* add
* rdm
* CHATGPT
* CHATDUMB
* different action
* no
* fix
* ci
* ci
* ci
* fuck
* dir
* checkout?
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* don't use shit
* ci
* ci
* ci
* FMT
---------
Co-authored-by: toka <tokazerkje@outlook.com>
* add
* rdm
* CHATGPT
* CHATDUMB
* different action
* no
* fix
* ci
* ci
* ci
* fuck
* dir
* checkout?
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* ci
* don't use shit
* ci
* ci
* ci
* Move Clippy to extra CI steps
* clippy?
* Last try with nightly
* no clue why but hey
* cleanup
* more
* revert
* check ubuntu works
* f
* debug
* clippy_ci
* remove tmate
* regex
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* Adding support for shutdown upon Ctrl+C on Windows for LLMP
* PR comments and clippy suggestions addressed
* Enable CI for PR branches and manually triggered CI
* Removed an empty line that broke compilation on some platforms
* Trying to fix nostd compilation
* Trying to fix nostd compilation for nightly toolchain
* Removing use that is unused on some platforms
* Trying to fix build on the nightly toolchain
* Trying to fix build on the nightly toolchain, take 2
* Unifying LlmpShutdownSignalHandler
* Fmt fix
* Making the handler pub(crate)
* Nightly toolchain fmt fixes
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* create the string classification stage
* modify API to pre-group
* preserving mutator
* more meaningful test
* subproperty mutators + some fixes
* document, finalise, integrate with libafl_libfuzzer
* add example, fix for weird range select
* fix for introspection
* fix fuzzer build
* speed optimisation: allow, but do not require, stacking
* property => category
* token replacement
* fixup: rare case where rust does not agree on valid character
* fix CI again
* again again
* take two: dynamic unicode discovery
* oops
* fix: last byte is never selected
* opt: bias to smaller unicode categories
* fix test
* opt: precompute regions and fix tests
* cache and allow stacking
* document and update libafl_libfuzzer
* oops, use reverse
* fix bolts clippy error
* fixup part 2
* clippy
* part 2
* clippy warning allow
* clippy complaint
* use alloc not std
---------
Co-authored-by: toka <tokazerkje@outlook.com>
* endif
* just fix every profile
* WHY YOU DONT JUST USE THE SAME NAME FOR DIR
* fix
* Some fuzzer want release
* WHY I ALWAYS FORGET COMMA
* NO MORE SPACE
* rename
* stb doesn't like debug build
* just use release
* another just use release
* prep for publishing libafl_libfuzzer
* learn to use linkers
* document-features
* special handling for fuzzbench builds
* Update cmplog.c
* drop dep for llvm-tools; add testcase for memcmp sanity
---------
Co-authored-by: Dongjia "toka" Zhang <tokazerkje@outlook.com>
* squash libfuzzer edits
* fixup: compat with custom mutators
* use tui flag
* add introspection support
* use libfuzzer dep now that we've merged
* force input loading
* some fixes
* begin docs, impl shrink
* make whole-archive conditional and not default
* make more copies of counters maps
* lol, remember to add the observer
* make size edge map observer an observer
* fixup: make def of run driver conditional
* add sanity checks for insertion
* revert silencing of forks
* add experimental tmin support; add default asan flags
* use default options instead of specifying our own
* implement lockless mode
* fix merge
* fixup lockless corpus
* fixup for generalisation
* remove erroneous drop_in_place
* improve error logging in the case of corpus loading failure
* ok, use lock files 😔
* fix tmin
* implement merge (again); fix rare cases with maps being too small
* implement a scheduler for removing excess
* implement a walking strategy for corpus loading for large corpora
* revert filename parameter; rename and remove duplicates
* various cleanup and clippy satisfaction
* fix no_std tests
* clang-format
* expand and satisfy the clippy gods
* fix sanitizer_ifaces bindgen for no_std
* fix wasm fuzzer
* fixup clippy script
* rename and provide a small amount of explanation for sanitizer_interfaces
* fixup: HasLastReportTime
* fix clippy oddities
* restrict clippy checks to linux-only for libafl_libfuzzer_runtime
* name the mutators
* format
* fix clippy warning
* hope docker is fixed
* fix cmin lint
* clippy pass
* more docs
* more clippy
* fix remaining clippy complaints
* fix import
* miri fixes (no constructors executed)
* exclude libafl_libfuzzer from cargo-hack
* fix clippy check for sanitizer_interfaces
* fmt
* fix CI (?)
* deduplicate sancov 8bit for improved perf on ASAN
* merge 8bit coverage regions + comment out insane deduplication
* no erroring out on free hooks
* fixup for non-forking merge
* skip the corpus dir if we use it
* fixup: recent libafl changes and feature flags
* libafl_libfuzzer: use rust-lld for whole-archive feature
* clarify cause of failure
* mark unsafe
* clippy :cursed_cowboy:
* attempt to fix wasm
* spooky unknowable bug 👻
* more clippy lints
* clippy fix for merge
* use the version pin
* add unsafe to ::register
* Serdeany autoreg fix
* make type assert actionable
* miri fixes
---------
Co-authored-by: Dominik Maier <domenukk@gmail.com>
Co-authored-by: Dominik Maier <dmnk@google.com>
Co-authored-by: Mrmaxmeier <Mrmaxmeier@gmail.com>