Cranelift CLIF-level differential fuzzer (#3038)
* cranelift: Initial fuzzer implementation * cranelift: Generate multiple test cases in fuzzer * cranelift: Separate function generator in fuzzer * cranelift: Insert random instructions in fuzzer * cranelift: Rename gen_testcase * cranelift: Implement div for unsigned values in interpreter * cranelift: Run all test cases in fuzzer * cranelift: Comment options in function_runner * cranelift: Improve fuzzgen README.md * cranelift: Fuzzgen remove unused variable * cranelift: Fuzzer code style fixes Thanks! @bjorn3 * cranelift: Fix nits in CLIF fuzzer Thanks @cfallin! * cranelift: Implement Arbitrary for TestCase * cranelift: Remove gen_testcase * cranelift: Move fuzzers to wasmtime fuzz directory * cranelift: CLIF-Fuzzer ignore tests that produce traps * cranelift: CLIF-Fuzzer create new fuzz target to validate generated testcases * cranelift: Store clif-fuzzer config in a separate struct * cranelift: Generate variables upfront per function * cranelift: Prevent publishing of fuzzgen crate
This commit is contained in:
14
Cargo.lock
generated
14
Cargo.lock
generated
@@ -640,6 +640,16 @@ dependencies = [
|
||||
"target-lexicon",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-fuzzgen"
|
||||
version = "0.75.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arbitrary",
|
||||
"cranelift",
|
||||
"rand 0.8.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-interpreter"
|
||||
version = "0.75.0"
|
||||
@@ -747,6 +757,7 @@ dependencies = [
|
||||
"cranelift-entity",
|
||||
"cranelift-filetests",
|
||||
"cranelift-frontend",
|
||||
"cranelift-fuzzgen",
|
||||
"cranelift-interpreter",
|
||||
"cranelift-jit",
|
||||
"cranelift-module",
|
||||
@@ -3676,6 +3687,9 @@ name = "wasmtime-fuzz"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"cranelift-codegen",
|
||||
"cranelift-filetests",
|
||||
"cranelift-fuzzgen",
|
||||
"cranelift-interpreter",
|
||||
"cranelift-reader",
|
||||
"cranelift-wasm",
|
||||
"libfuzzer-sys",
|
||||
|
||||
Reference in New Issue
Block a user