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:
Afonso Bordado
2021-07-01 14:32:01 +01:00
committed by GitHub
parent a603fc5bd5
commit 7453bd5f0d
14 changed files with 732 additions and 2 deletions

View File

@@ -29,6 +29,7 @@ cranelift-object = { path = "object", version = "0.75.0" }
cranelift-jit = { path = "jit", version = "0.75.0" }
cranelift-preopt = { path = "preopt", version = "0.75.0" }
cranelift = { path = "umbrella", version = "0.75.0" }
cranelift-fuzzgen = { path = "fuzzgen", version = "0.75.0" }
filecheck = "0.5.0"
log = "0.4.8"
termcolor = "1.1.2"