Commit Graph

43 Commits

Author SHA1 Message Date
Alex Crichton bbb34977ef
Add Trevor Elliot to Wasmtime (#8215) 2022-08-10 15:06:46 -07:00
Alex Crichton 76b4b0422f
Add another cc for the Wasmtime project (#8002)
Replaces #7954
2022-07-13 12:50:17 -04:00
Chris Fallin 7dd39a677c
wasmtime: update regalloc fuzzer to use regalloc2. (#7568)
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.
2022-04-13 21:25:21 -04:00
Alex Crichton dd7c41fdaa
wasmtime: Try to fix coverage build (#7374)
Our coverage build for Wasmtime has been broken for a bit so this is a
bit of a shot in the dark to try and fix that. The broken build comes
from OCaml sources not being available and I couldn't figure out how to
get the coverage to not ask for the OCaml sources so this attempts to
copy the OCaml sources to the output directory for the coverage code to
use. We're not really interested in the coverage of OCaml itself, but
this should hopefully serve to appease the coverage gods.
2022-03-10 22:20:48 -05:00
Alex Crichton 4a656409a4
Pin Wasmtime's OCaml version to 4.11.2 (#7361)
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.
2022-03-03 17:44:06 -05:00
Alex Crichton 0beb0f9dea
Ignore leaks in Wasmtime's spec fuzzer (#7358)
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.
2022-03-03 17:44:41 +00:00
Alex Crichton 7210a5c4e9
wasmtime: Shrink size of compiled fuzzers (#7354)
It looks like Wasmtime's fuzzers are failing to run due to them being to
large, so this is a quick band-aid fix to reduce the size of the
binaries. It looks like Rust's `cargo fuzz` tool by default links in
dead code for code coverage purposes (ish, I'm not 100% sure on this),
so the size of fuzzers are reduced by stripping dead code. In a local
build this reduces the size of Wasmtime's output directory from 6.8G to
3.4G and should buy us some time to implement deeper fixes (such as
having one shared library that all of the fuzzers call into instead of
duplicating statically-linked Wasmtime amongst all the fuzzer binaries).
2022-03-02 20:47:14 +00:00
Alex Crichton 4c10932221
Update Wasmtime's docker image (#7346)
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
2022-03-02 07:18:38 +00:00
Peter Huene 4c1d0b83bc
wasmtime: Add Peter Huene to the auto cc list. (#7280) 2022-02-14 19:53:07 +00:00
DavidKorczynski 2c164afcba
wasmtime: migrate build to work with CIFUzz (#6923) 2021-11-29 19:26:51 +00:00
Alex Crichton fa1af6ba47
Update Wasmtime's build script (#6863)
Accounts for features that have since been removed now which are
currently causing the build to fail, so this hopefully will fix the build.
2021-11-19 10:40:08 -05:00
jonathanmetzman b15c167739
[infra][rust] Split out rust projects to their own builder image (#6352) 2021-08-30 11:47:04 -07:00
Andrew Brown face127c59
wasmtime: install a newer version of OCaml (#6205)
* wasmtime: install a newer version of OCaml

* Update Dockerfile

* wasmtime: move environment setup to build.sh
2021-08-12 09:38:22 +01:00
Andrew Brown d63a5f1432
wasmtime: provide OCaml packages for build (#6193)
* 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`.
2021-08-10 22:30:39 +00:00
Andrew Brown 2bf8d20eac
[wasmtime] Tweak member e-mail (#5532) 2021-03-29 17:14:19 -07:00
Andrew Brown a825726f27
[wasmtime] add another member e-mail (#5517) 2021-03-29 12:10:23 -07:00
Chris Fallin 10dce4104a
Update wasmtime config to use new x86-64 backend. (#5518)
In bytecodealliance/rfcs#10, we have outlined a process by which we're
switching to a new compiler backend by default. The first step in this
process is to switch our fuzzing targets to use the new backend and wait
for any issues.

This PR adds the Cargo feature that enables the new backend in all
fuzzing targets.
2021-03-26 13:07:46 -07:00
Catena cyber 2e64b7a1cf
Wasmtime: remaps for coverage (#5392)
* Wasmtime: remaps for coverage

* right loop fixup

* Adding a comment
2021-03-20 23:34:36 -07:00
Abhishek Arya 1d5a2cd84e
Fill in main_repo for several projects. (#4816)
* Fill in main_repo for several projects.

* Add some go repos.
2020-12-09 21:52:40 -08:00
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 0dc597e53e
Add `handle_segv =1` to Wasmtime's options (#4266)
* Add `handle_segv =1` to Wasmtime's options

This is an attempt to handle #4264
2020-08-06 17:02:42 -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
devtty1er d561c49ae5
Update Dockerfiles (#4070)
* Use LABEL in place of MAINTAINER

* Remove LABEL maintainer from Dockerfiles
2020-07-06 13:18:23 -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
Abhishek Arya 4f7cf1b334
Simplify rust project setup. (#3830)
* 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.
2020-05-17 16:45:54 -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 f3f3da7523
wasmtime: Add @yurydelendik as a cc (#3360) 2020-02-07 09:19:14 -08:00
Alex Crichton ec58a65f33
[wasmtime] Fix default asan options (#3350)
This fixes typo mistakes from #3335 where we actually want the opposite
of the current defaults, not the current set of defaults!
2020-02-06 10:26:09 -08:00
Jonathan Foote 7f201a86e5
[wasmtime] correct auto_ccs (#3341)
I had used a site-specific alias for @tschneidereit in my last commit; he is unable to login to monorail with it. This corrects to an alias that should work. Apologies for the oversight.
2020-02-05 12:15:32 -08: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
Jonathan Foote a324584da1
[wasmtime] update auto_ccs (#3332)
Following up on internal bytecodealliance/wasmtime discussion, this removes the security@bytecodealliance.org alias from the wasmtime notification list and adds @tschneidereit.
2020-02-05 08:46:11 -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
Max Moroz 7751ab5a87
[infra] Introduce "language" attribute in the project.yaml (#3297). (#3299)
* [infra] Introduce "language" attribute in the project.yaml (#3297).

* follow up

* enable the attribute for more projects

* trailing newline
2020-01-30 15:36:44 -08:00
Nick Fitzgerald 1405af8d0a
wasmtime: Add Alex Crichton to the auto cc list (#3308) 2020-01-30 14:04:10 -08:00
Jonathan Foote 22ea026e30
[wasmtime] fix security@bytecodealliance.org alias (#3307) 2020-01-29 18:43:23 -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
Jonathan Foote 7964a95f75 [wasmtime] Add project.yaml (#3285) 2020-01-23 10:02:49 -08:00