Skip to content

Commit

Permalink
Fuzzer: Run --dce when GC is enabled (#5677)
Browse files Browse the repository at this point in the history
DCE at the end avoids issues with non-nullable local operations in unreachable
code, which is still being discussed. This PR avoids fuzzer errors for now, but we
should revert it when we have a proper fix.

See

* #5599
* #5665
* WebAssembly/function-references#98
  • Loading branch information
kripken authored Apr 19, 2023
1 parent 68ea69f commit 8e965ee
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions scripts/fuzz_opt.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,15 @@ def randomize_fuzz_settings():
FUZZ_OPTS += ['--legalize-js-interface']
else:
LEGALIZE = False

# if GC is enabled then run --dce at the very end, to ensure that our
# binaries validate in other VMs, due to how non-nullable local validation
# and unreachable code interact. see
# https://github.com/WebAssembly/binaryen/pull/5665
# https://github.com/WebAssembly/binaryen/issues/5599
if '--disable-gc' not in FEATURE_OPTS:
FUZZ_OPTS += ['--dce']

print('randomized settings (NaNs, OOB, legalize):', NANS, OOB, LEGALIZE)


Expand Down

0 comments on commit 8e965ee

Please sign in to comment.