| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
We are currently (bytecodealliance/wasmtime#3989) switching over to a
new register allocator in Cranelift/wasmtime. This PR switches our
fuzzing setup to start fuzzing the new allocator instead of the old one.
|
|
|
|
|
|
|
|
|
|
| |
This commit takes an alternative approach to #7358 where instead of
specifically ignoring leaks we use a build of OCaml that doesn't have
the leak to begin with. It looks like the leak was introduced in the
4.12 -> 4.13 update (and Wasmtime is currently using the latest of
4.13). This should also help improve reproducibility by always using the
same OCaml version on oss-fuzz runs. We're mostly interested in fuzzing
Rust code, not OCaml code, so our goal is to just get a working OCaml
reference somehow.
|
|
|
|
|
| |
This uses an OCaml backend and we're getting leak messages from OCaml
which we don't have control over so suppress them for now for this
specific fuzzer.
|
|
|
|
|
| |
This adds some more ocaml-related dependencies to support fuzzing
against a different spec interpreter recently landed in Wasmtime at
https://github.com/bytecodealliance/wasmtime/pull/3843
|
| |
|
| |
|
|
|
|
|
|
|
| |
* wasmtime: install a newer version of OCaml
* Update Dockerfile
* wasmtime: move environment setup to build.sh
|
|
|
|
|
|
|
|
|
| |
* wasmtime: provide OCaml packages for build
In order to build the WebAssembly spec interpreter, these packages are needed.
* wasmtime: remove ocamlbuild as a dependency
The oss-fuzz-base image is using Ubuntu 16.04.7 and the `ocaml-nox` package at this version contains `ocamlbuild`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Wasmtime uses
[regalloc.rs](https://github.com/bytecodealliance/regalloc.rs), a
register allocator written in Rust that was developed for use in
Cranelift (but is also an independently-usable crate). While it will be
indirectly fuzzed by wasmtime itself once we start fuzzing the new
backends that use it, we should also fuzz it directly, since it exposes
targets just for this. The regalloc fuzzing makes use of a symbolic
checker as an oracle for allocation results, so should be relatively
high-quality. This PR enables the `bt` (backtracking) allocator's fuzz
target, as this is the default allocator.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add wasm-tools repository to wasmtime project
This commit expands the fuzzers run under the Wasmtime project to
include those in the https://github.com/bytecodealliance/wasm-tools
repository. This includes various parsing for utilities used by Wasmtime
itself but also generally useful for other Rust projects! The
maintainers of the wasm-tools repository are also all currently all on
the notification list for Wasmtime fuzz bugs as well.
* Load all corpuses from wasmtime-libfuzzer-corpus
|
|
|
|
|
| |
* Use LABEL in place of MAINTAINER
* Remove LABEL maintainer from Dockerfiles
|
|
|
|
|
|
|
|
| |
* Simplify rust project setup.
- Add rust and cargo-fuzz in base builder.
- Set RUSTC_BOOSTRAP to make ASan available.
- Set RUSTFLAGS and C,CXXFLAGS properly.
|
|
|
|
|
|
|
| |
This is an attempt to apply the suggestions from #3316 to the fuzzing
infrastructure for the `wasmtime` target. This will hopefully allow the
delivery of SIGSEGV and SIGILL signals to the `wasmtime` program itself.
These are expected signals when executing wasm code so we don't want the
fuzzer to treat all forms of the signal as a fatal error.
|
|
|
|
|
|
| |
This is an attempt to fixup the errors found on #3292. Although I'm not
certain where the error was coming from this switches the Rust
installation to being in `PATH` by default so there's no need to
`source` any scripts to get access to the Rust compiler.
|
|
|