platform

package standard library
master (e689118) Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: BSD-3-Clause Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var List = []OSArch{
	{"aix", "ppc64"},
	{"android", "386"},
	{"android", "amd64"},
	{"android", "arm"},
	{"android", "arm64"},
	{"darwin", "amd64"},
	{"darwin", "arm64"},
	{"dragonfly", "amd64"},
	{"freebsd", "386"},
	{"freebsd", "amd64"},
	{"freebsd", "arm"},
	{"freebsd", "arm64"},
	{"freebsd", "riscv64"},
	{"illumos", "amd64"},
	{"ios", "amd64"},
	{"ios", "arm64"},
	{"js", "wasm"},
	{"linux", "386"},
	{"linux", "amd64"},
	{"linux", "arm"},
	{"linux", "arm64"},
	{"linux", "loong64"},
	{"linux", "mips"},
	{"linux", "mips64"},
	{"linux", "mips64le"},
	{"linux", "mipsle"},
	{"linux", "ppc64"},
	{"linux", "ppc64le"},
	{"linux", "riscv64"},
	{"linux", "s390x"},
	{"linux", "sparc64"},
	{"netbsd", "386"},
	{"netbsd", "amd64"},
	{"netbsd", "arm"},
	{"netbsd", "arm64"},
	{"openbsd", "386"},
	{"openbsd", "amd64"},
	{"openbsd", "arm"},
	{"openbsd", "arm64"},
	{"openbsd", "mips64"},
	{"openbsd", "ppc64"},
	{"openbsd", "riscv64"},
	{"plan9", "386"},
	{"plan9", "amd64"},
	{"plan9", "arm"},
	{"solaris", "amd64"},
	{"wasip1", "wasm"},
	{"windows", "386"},
	{"windows", "amd64"},
	{"windows", "arm"},
	{"windows", "arm64"},
}

List is the list of all valid GOOS/GOARCH combinations, including known-broken ports.

Functions

func ASanSupported

func ASanSupported(goos, goarch string) bool

ASanSupported reports whether goos/goarch supports the address sanitizer option.

func Broken added in go1.21.0

func Broken(goos, goarch string) bool

Broken reportsr whether goos/goarch is considered a broken port. (See https://go.dev/wiki/PortingPolicy#broken-ports.)

func BuildModeSupported

func BuildModeSupported(compiler, buildmode, goos, goarch string) bool

BuildModeSupported reports whether goos/goarch supports the given build mode using the given compiler. There is a copy of this function in cmd/dist/test.go.

func CgoSupported added in go1.21.0

func CgoSupported(goos, goarch string) bool

CgoSupported reports whether goos/goarch supports cgo.

func DefaultPIE added in go1.21.0

func DefaultPIE(goos, goarch string, isRace bool) bool

DefaultPIE reports whether goos/goarch produces a PIE binary when using the "default" buildmode. On Windows this is affected by -race, so force the caller to pass that in to centralize that choice.

func ExecutableHasDWARF added in go1.21.0

func ExecutableHasDWARF(goos, goarch string) bool

ExecutableHasDWARF reports whether the linked executable includes DWARF symbols on goos/goarch.

func FirstClass added in go1.21.0

func FirstClass(goos, goarch string) bool

FirstClass reports whether goos/goarch is considered a “first class” port. (See https://go.dev/wiki/PortingPolicy#first-class-ports.)

func FuzzInstrumented

func FuzzInstrumented(goos, goarch string) bool

FuzzInstrumented reports whether fuzzing on goos/goarch uses coverage instrumentation. (FuzzInstrumented implies FuzzSupported.)

func FuzzSupported

func FuzzSupported(goos, goarch string) bool

FuzzSupported reports whether goos/goarch supports fuzzing ('go test -fuzz=.').

func InternalLinkPIESupported

func InternalLinkPIESupported(goos, goarch string) bool

func MSanSupported

func MSanSupported(goos, goarch string) bool

MSanSupported reports whether goos/goarch supports the memory sanitizer option.

func MustLinkExternal

func MustLinkExternal(goos, goarch string, withCgo bool) bool

MustLinkExternal reports whether goos/goarch requires external linking with or without cgo dependencies.

func RaceDetectorSupported

func RaceDetectorSupported(goos, goarch string) bool

RaceDetectorSupported reports whether goos/goarch supports the race detector. There is a copy of this function in cmd/dist/test.go. Race detector only supports 48-bit VMA on arm64. But it will always return true for arm64, because we don't have VMA size information during the compile time.

Types

type OSArch added in go1.21.0

type OSArch struct {
	GOOS, GOARCH string
}

An OSArch is a pair of GOOS and GOARCH values indicating a platform.

func (OSArch) String added in go1.21.0

func (p OSArch) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL