Fully enable Winch in the differential fuzzer#7932
Fully enable Winch in the differential fuzzer#7932alexcrichton merged 1 commit intobytecodealliance:mainfrom
differential fuzzer#7932Conversation
This commit fully enables usage of Winch in the `differential` fuzzer against all other engines with no special cases. I attempted enabling winch for the other fuzzers as well but Winch doesn't currently implement all methods for generating various trampolines required so it's currently only limited to the `differential` fuzzer. This adds Winch as an "engine" and additionally ensures that when configured various wasm proposals are disabled that Winch doesn't support (similar to how enabling `wasmi` disables proposals that `wasmi` doesn't support). This does reduce fuzzing of Winch slightly in that the reference-types proposal is completely disabled for Winch rather than half-enabled where Winch doesn't implement `externref` operations yet but does implement `funcref` operations. This, however, enables integrating it more cleanly into the rest of the fuzzing infrastructure with fewer special cases.
Subscribe to Label Actioncc @fitzgen DetailsThis issue or pull request has been labeled: "fuzzing"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
saulecabrera
left a comment
There was a problem hiding this comment.
Thanks for working on this!
This does reduce fuzzing of Winch slightly in that the reference-types proposal is completely disabled for Winch rather than half-enabled where Winch doesn't implement externref operations yet but does implement funcref operations.
I think this is fine, we're starting the work on reference types, so we'd be able permanently enable fuzzing for funcref and externref soon-ish.
Given this change, I've taken the liberty to add myself to oss-fuzz (google/oss-fuzz#11602), as I'd like to monitor more closely any Winch fuzz bugs. Let me know if you're ok with that change.
Definitely! |
This commit fully enables usage of Winch in the
differentialfuzzer against all other engines with no special cases. I attempted enabling winch for the other fuzzers as well but Winch doesn't currently implement all methods for generating various trampolines required so it's currently only limited to thedifferentialfuzzer.This adds Winch as an "engine" and additionally ensures that when configured various wasm proposals are disabled that Winch doesn't support (similar to how enabling
wasmidisables proposals thatwasmidoesn't support).This does reduce fuzzing of Winch slightly in that the reference-types proposal is completely disabled for Winch rather than half-enabled where Winch doesn't implement
externrefoperations yet but does implementfuncrefoperations. This, however, enables integrating it more cleanly into the rest of the fuzzing infrastructure with fewer special cases.