Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cranelift CLIF-level differential fuzzer #3038

Merged
merged 20 commits into from
Jul 1, 2021
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
7211ace
cranelift: Initial fuzzer implementation
afonso360 Jun 14, 2021
84b74f6
cranelift: Generate multiple test cases in fuzzer
afonso360 Jun 26, 2021
766d661
cranelift: Separate function generator in fuzzer
afonso360 Jun 26, 2021
227c1a0
cranelift: Insert random instructions in fuzzer
afonso360 Jun 26, 2021
6c9a351
cranelift: Rename gen_testcase
afonso360 Jun 26, 2021
a26851c
cranelift: Implement div for unsigned values in interpreter
afonso360 Jun 27, 2021
945e570
cranelift: Run all test cases in fuzzer
afonso360 Jun 27, 2021
db44254
cranelift: Comment options in function_runner
afonso360 Jun 27, 2021
bb72611
cranelift: Improve fuzzgen README.md
afonso360 Jun 27, 2021
d0b1d12
cranelift: Fuzzgen remove unused variable
afonso360 Jun 27, 2021
2e11524
cranelift: Fuzzer code style fixes
afonso360 Jun 27, 2021
de171e1
cranelift: Fix nits in CLIF fuzzer
afonso360 Jun 29, 2021
b767923
cranelift: Implement Arbitrary for TestCase
afonso360 Jun 29, 2021
820e5a4
cranelift: Remove gen_testcase
afonso360 Jun 29, 2021
b54876c
cranelift: Move fuzzers to wasmtime fuzz directory
afonso360 Jun 29, 2021
ac03086
cranelift: CLIF-Fuzzer ignore tests that produce traps
afonso360 Jun 29, 2021
0854306
cranelift: CLIF-Fuzzer create new fuzz target to validate generated t…
afonso360 Jun 29, 2021
1e505c0
cranelift: Store clif-fuzzer config in a separate struct
afonso360 Jun 29, 2021
c808f09
cranelift: Generate variables upfront per function
afonso360 Jun 29, 2021
15ee4fe
cranelift: Prevent publishing of fuzzgen crate
afonso360 Jul 1, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions cranelift/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
4 changes: 4 additions & 0 deletions cranelift/filetests/src/function_runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,13 +92,17 @@ impl SingleFunctionCompiler {
}

#[derive(Error, Debug)]
/// Compilation Error when compiling a function
afonso360 marked this conversation as resolved.
Show resolved Hide resolved
pub enum CompilationError {
#[error("Cross-compilation not currently supported; use the host's default calling convention \
or remove the specified calling convention in the function signature to use the host's default.")]
/// This Target ISA is invalid for the current host
InvalidTargetIsa,
#[error("Cranelift codegen error")]
/// Cranelift codegen error
CodegenError(#[from] CodegenError),
#[error("Memory mapping error")]
/// Memory mapping error
IoError(#[from] std::io::Error),
}

Expand Down
2 changes: 1 addition & 1 deletion cranelift/filetests/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ use std::path::Path;
use std::time;

mod concurrent;
mod function_runner;
pub mod function_runner;
mod match_directive;
mod runner;
mod runone;
Expand Down
4 changes: 4 additions & 0 deletions cranelift/fuzz/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

afonso360 marked this conversation as resolved.
Show resolved Hide resolved
target
corpus
artifacts
Loading