mirror of
https://github.com/golang/go
synced 2024-11-23 10:20:03 -07:00
cmd/go: adjust comments on why fuzzing instrumentation is disabled
For #48504 Related #14565 Change-Id: Ibe43c75224525c4b80dbb66a1b6e0d688e47e2e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/351314 Trust: Jay Conrod <jayconrod@google.com> Trust: Katie Hockman <katie@golang.org> Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Katie Hockman <katie@golang.org>
This commit is contained in:
parent
217507eb03
commit
d5d3f80013
@ -60,9 +60,23 @@ func BuildInit() {
|
||||
}
|
||||
}
|
||||
|
||||
// FuzzInstrumentFlags returns compiler flags that enable fuzzing instrumation
|
||||
// on supported platforms. On unsupported platforms, FuzzInstrumentFlags returns
|
||||
// nil.
|
||||
func FuzzInstrumentFlags() []string {
|
||||
if cfg.Goarch != "amd64" && cfg.Goarch != "arm64" {
|
||||
// Instrumentation is only supported on 64-bit architectures.
|
||||
// TODO: expand the set of supported platforms, with testing.
|
||||
// Nothing about the instrumentation is OS specific, but only amd64 and arm64
|
||||
// are supported in the runtime. See src/runtime/libfuzzer*.
|
||||
//
|
||||
// Keep in sync with build constraints in internal/fuzz/counters_{un,}supported.go
|
||||
switch cfg.Goos {
|
||||
case "darwin", "freebsd", "linux", "windows":
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
switch cfg.Goarch {
|
||||
case "amd64", "arm64":
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
return []string{"-d=libfuzzer"}
|
||||
|
@ -1,8 +1,9 @@
|
||||
# TODO(jayconrod): support shared memory on more platforms.
|
||||
[!darwin] [!linux] [!windows] skip
|
||||
|
||||
# TODO(#48504): fix and re-enable.
|
||||
[linux] [386] skip
|
||||
# Instrumentation not supported on other archs.
|
||||
# See #14565.
|
||||
[!amd64] [!arm64] skip
|
||||
|
||||
[short] skip
|
||||
env GOCACHE=$WORK/cache
|
||||
|
@ -1,8 +1,9 @@
|
||||
# TODO(jayconrod): support shared memory on more platforms.
|
||||
[!darwin] [!linux] [!windows] skip
|
||||
|
||||
# TODO(#48504): fix and re-enable.
|
||||
[linux] [386] skip
|
||||
# Instrumentation not supported on other archs.
|
||||
# See #14565.
|
||||
[!amd64] [!arm64] skip
|
||||
|
||||
[short] skip
|
||||
env GOCACHE=$WORK/cache
|
||||
|
@ -7,7 +7,9 @@
|
||||
package fuzz
|
||||
|
||||
// TODO(#48504): re-enable on platforms where instrumentation works.
|
||||
// This was disabled due to an init failure on aix_ppc64.
|
||||
// In theory, we shouldn't need this file at all: if the binary was built
|
||||
// without coverage, then _counters and _ecounters should have the same address.
|
||||
// However, this caused an init failure on aix/ppc64, so it's disabled here.
|
||||
|
||||
// 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
|
||||
|
Loading…
Reference in New Issue
Block a user