diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2019-10-18 17:39:39 -0700 |
|---|---|---|
| committer | Matthew Dempsky <mdempsky@google.com> | 2019-11-05 00:00:36 +0000 |
| commit | e341e93c519ef22ed4759fd0b4643a30321b9222 (patch) | |
| tree | 5f03c6f2d2604f11299b8d1016d2dc3353a2266a /src/runtime | |
| parent | 383b447e0da5bd1fcdc2439230b5a1d3e3402117 (diff) | |
| download | go-e341e93c519ef22ed4759fd0b4643a30321b9222.tar.xz | |
cmd/compile, cmd/link: add coverage instrumentation for libfuzzer
This CL adds experimental coverage instrumentation similar to what
github.com/dvyukov/go-fuzz produces in its -libfuzzer mode. The
coverage can be enabled by compiling with -d=libfuzzer. It's intended
to be used in conjunction with -buildmode=c-archive to produce an ELF
archive (.a) file that can be linked with libFuzzer. See #14565 for
example usage.
The coverage generates a unique 8-bit counter for each basic block in
the original source code, and emits an increment operation. These
counters are then collected into the __libfuzzer_extra_counters ELF
section for use by libFuzzer.
Updates #14565.
Change-Id: I239758cc0ceb9ca1220f2d9d3d23b9e761db9bf1
Reviewed-on: https://go-review.googlesource.com/c/go/+/202117
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/runtime')
0 files changed, 0 insertions, 0 deletions
