Commit Graph

13 Commits

Author SHA1 Message Date
Chris Fallin aa6646d893
wasmtime: add new codegen backend, and add contact for it. (#4772)
In [Wasmtime](https://github.com/bytecodealliance/wasmtime), we're
planning to transition eventually to a new x86 backend. We recently
added a fuzz target for this backend that differentially fuzzes against
a Wasm interpreter.

This PR adds the new backend's fuzz target and adds a contact (me) to
the notification list.
2020-12-03 12:03:55 -08:00
Chris Fallin 5fdc24206e
wasmtime: add register allocator to fuzz targets. (#4669)
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.
2020-11-20 07:37:16 -08:00
Max Moroz 941ada694b
[infra] Add support for custom sanitizer options in run_fuzzer. (#4274)
* [infra] Add support for custom sanitizer options in run_fuzzer.

* address review feedback

* fix presubmit warnings
2020-08-07 12:48:23 -07:00
Alex Crichton cd665e2a82
Add wasm-tools repository to wasmtime project (#4111)
* 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
2020-07-10 19:25:01 -07:00
Abhishek Arya b74211ecf9
Skip coverage build in CI for non C/C++ projects. (#4075)
* Skip coverage build in CI for non C/C++ projects.

Fixes https://github.com/google/oss-fuzz/issues/4074

* Test wasmtime.
2020-07-06 13:13:02 -07:00
Nick Fitzgerald 82252c22ef
wasmtime: Only zip the seed corpus if it exists (#4065)
This will prevent build failures like
https://oss-fuzz-build-logs.storage.googleapis.com/log-5a0b58fe-4a35-46d5-b4d2-221905e7d208.txt
in the future.
2020-07-06 10:46:47 -07:00
Nick Fitzgerald 703b92adea
wasmtime: build fuzz targets with --all-features (#3850)
This enables not only the binaryen-using fuzz targets, but also the peepmatic fuzz targets (which is necessary after https://github.com/bytecodealliance/wasmtime/pull/1727).
2020-05-19 11:23:08 -07:00
Abhishek Arya bc45406906
Remove unneeded rust hacks after #3830. (#3840) 2020-05-18 08:04:26 -07:00
Alex Crichton f8cd51117f
[wasmtime] Update wasmtime's build script (#3515)
Accounts for changes in
https://github.com/bytecodealliance/wasmtime/pull/1343 where
compilation of all the fuzzers now requires extra features to be
enabled.
2020-03-17 17:24:39 -07:00
Alex Crichton 94d0c3a7b4
[wasmtime] Try fixing delivery of SIGILL/SIGSEGV to JIT (#3335)
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.
2020-02-05 09:46:23 -08:00
Alex Crichton c2fa07a095
wasmtime: Enable debuginfo/frame pointers (#3314)
This commit does for Rust code what the `CFLAGS` are configured to do
for C++ code, which is to enable debuginfo (but line tables only) as
well as forcing frame pointer generation to all assist in generating
stack traces.
2020-01-31 15:02:20 -08:00
Alex Crichton 96c9cd26c2 Try to fix the wasmtime Rust build (#3298)
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.
2020-01-28 06:41:49 -08:00
Jonathan Foote 038d4ac14a [wasmtime] initial integration (#3292) 2020-01-27 06:40:46 -08:00