aboutsummaryrefslogtreecommitdiff
path: root/src/internal/fuzz/encoding_test.go
diff options
context:
space:
mode:
authorKhaled Yakdan <yakdan@code-intelligence.com>2022-05-18 08:54:30 +0000
committerKeith Randall <khr@golang.org>2022-05-20 21:32:57 +0000
commit7ec6ef432a85a390365f2daed788f0d14c830c73 (patch)
treec8f554af168c03e3fe383dfac516b034e10f71c3 /src/internal/fuzz/encoding_test.go
parente66f895667cd51d0d28c42d369a803c12db8bb35 (diff)
downloadgo-7ec6ef432a85a390365f2daed788f0d14c830c73.tar.xz
cmd/compile, cmd/link: use libFuzzer 8-bit instead of extra counters
By using libFuzzer’s 8-bit counters instead of extra counters, the coverage instrumentation in libFuzzer mode is improved in three ways: 1- 8-bit counters are supported on all platforms, including macOS and Windows, with all relevant versions of libFuzzer, whereas extra counters are a Linux-only feature that only recently received support on Windows. 2- Newly covered blocks are now properly reported as new coverage by libFuzzer, not only as new features. 3- The NeverZero strategy is used to ensure that coverage counters never become 0 again after having been positive once. This resolves issues encountered when fuzzing loops with iteration counts that are multiples of 256 (e.g., larger powers of two). Change-Id: I9021210d7fbffd07c891ad08750402ee91cb3df5 GitHub-Last-Rev: 9057e4b21d146ce9ffb3993982bfb84b96705989 GitHub-Pull-Request: golang/go#51318 Reviewed-on: https://go-review.googlesource.com/c/go/+/387334 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/internal/fuzz/encoding_test.go')
0 files changed, 0 insertions, 0 deletions