zig/lib/compiler
Kendall Condon e66b269333 greatly improve capabilities of the fuzzer
This PR significantly improves the capabilities of the fuzzer.

The changes made to the fuzzer to accomplish this feat mostly include
tracking memory reads from .rodata to determine fresh inputs, new
mutations (especially the ones that insert const values from .rodata
reads and __sanitizer_conv_const_cmp), and minimizing found inputs.
Additionally, the runs per second has greatly been increased due to
generating smaller inputs and avoiding clearing the 8-bit pc counters.

An additional feature added is that the length of the input file is now
stored and the old input file is rerun upon start.

Other changes made to the fuzzer include more logical initialization,
using one shared file `in` for inputs, creating corpus files with
proper sizes, and using hexadecimal-numbered corpus files for
simplicity.

Furthermore, I added several new fuzz tests to gauge the fuzzer's
efficiency. I also tried to add a test for zstandard decompression,
which it crashed within 60,000 runs (less than a second.)

Bug fixes include:
* Fixed a race conditions when multiple fuzzer processes needed to use
the same coverage file.
* Web interface stats now update even when unique runs is not changing.
* Fixed tokenizer.testPropertiesUpheld to allow stray carriage returns
since they are valid whitespace.
2025-09-18 18:56:10 -04:00
..
aro std.fmt: delete deprecated APIs 2025-08-31 12:49:18 -07:00
aro_translate_c aro: update to not use GenericWriter 2025-08-28 18:30:57 -07:00
reduce zig reduce: adapt to new Writer API 2025-08-21 11:50:03 -07:00
resinator std.fmt: delete deprecated APIs 2025-08-31 12:49:18 -07:00
aro_translate_c.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
build_runner.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
libc.zig std.Io: delete GenericReader 2025-08-29 17:14:26 -07:00
objcopy.zig objcopy: delete most of it 2025-07-21 12:32:37 -07:00
reduce.zig rework std.Io.Writer.Allocating to support runtime-known alignment 2025-08-30 00:48:50 -07:00
std-docs.zig rework std.Io.Writer.Allocating to support runtime-known alignment 2025-08-30 00:48:50 -07:00
test_runner.zig greatly improve capabilities of the fuzzer 2025-09-18 18:56:10 -04:00