WorksButNotTested 728b1216bb
Librasan (#3023)
* Fixes to main

* Add librasan

* Party like it's 2024

* Fix snapshot module to work with guest asan

* Fix guest_asan module

* Fixes to runner

* Fix linking issues using a REL

* Fix qemu_launcher

* Change modify_mapping to a method

* Fix gasan_test

* Remove debug from Justfile

* Optimize release build of librasan

* Set ulimit for qasan and gasan tests

* Tidy up symbol renaming

* Add missing symbols for PPC

* Change to support rustix 1.0.0

* Canonicalize the CUSTOM_ASAN_PATH

* Review changes

* Restructure backends

* release_max_level_info

* More review changes

* Clippy fixes

* Changes to reduce the burden on the CI

* Fix macos clippy

---------

Co-authored-by: Your Name <you@example.com>
2025-03-10 17:27:55 +01:00

60 lines
1.3 KiB
TOML

[package]
name = "runner"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
[[bin]]
name = "runner-arm"
path = "src/arm.rs"
required-features = ["arm"]
[[bin]]
name = "runner-x86_64"
path = "src/x86_64.rs"
required-features = ["x86_64"]
[[bin]]
name = "runner-i386"
path = "src/i386.rs"
required-features = ["i386"]
[[bin]]
name = "runner-aarch64"
path = "src/aarch64.rs"
required-features = ["aarch64"]
[[bin]]
name = "runner-ppc"
path = "src/ppc.rs"
required-features = ["ppc"]
[features]
default = ["std"]
std = []
clippy = []
## Set emulator to big endian
be = ["libafl_qemu/be"]
#! ## Mutually exclusive architectures
arm = ["libafl_qemu/arm"]
x86_64 = ["libafl_qemu/x86_64"]
i386 = ["libafl_qemu/i386"]
aarch64 = ["libafl_qemu/aarch64"]
mips = ["libafl_qemu/mips"]
ppc = ["libafl_qemu/ppc", "be"]
hexagon = ["libafl_qemu/hexagon"]
[build-dependencies]
vergen = { version = "9.0.1", features = ["build", "cargo", "rustc", "si"] }
vergen-git2 = "1.0.1"
[dependencies]
clap = { version = "4.5.18", features = ["derive", "string"] }
env_logger = { version = "0.11.5" }
log = { version = "0.4.22", features = ["release_max_level_info"] }
readonly = { version = "0.2.12" }
libafl_bolts = { path = "../../../libafl_bolts" }
libafl_qemu = { path = "../../" }
thiserror = { version = "2.0.11" }