mirror of
https://github.com/golang/go.git
synced 2025-05-05 15:43:04 +00:00
Change-Id: I212330962453139fa353db29928786b64c9ff063 Reviewed-on: https://go-review.googlesource.com/c/go/+/667455 Reviewed-by: abner chenc <chenguoqi@loongson.cn> Reviewed-by: Junyang Shao <shaojunyang@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
22 lines
734 B
Go
22 lines
734 B
Go
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build ((darwin || linux || windows || freebsd || openbsd) && (amd64 || arm64)) || loong64
|
|
|
|
package fuzz
|
|
|
|
import (
|
|
"unsafe"
|
|
)
|
|
|
|
// coverage returns a []byte containing unique 8-bit counters for each edge of
|
|
// the instrumented source code. This coverage data will only be generated if
|
|
// `-d=libfuzzer` is set at build time. This can be used to understand the code
|
|
// coverage of a test execution.
|
|
func coverage() []byte {
|
|
addr := unsafe.Pointer(&_counters)
|
|
size := uintptr(unsafe.Pointer(&_ecounters)) - uintptr(addr)
|
|
return unsafe.Slice((*byte)(addr), int(size))
|
|
}
|