package buildcfg

Import Path
	internal/buildcfg (on go.dev)

Dependency Relation
	imports 8 packages, and imported by 2 packages

Involved Source Files Package buildcfg provides access to the build configuration described by the current environment. It is for use by build tools such as cmd/go or cmd/compile and for setting up go/build's Default context. Note that it does NOT provide access to the build configuration used to build the currently-running binary. For that, use runtime.GOOS etc as well as internal/goexperiment. exp.go zbootstrap.go
Package-Level Type Names (total 2)
/* sort by: | */
ExperimentFlags represents a set of GOEXPERIMENT flags relative to a baseline (platform-default) experiment configuration. Flags goexperiment.Flags AliasTypeParams enables type parameters for alias types. Requires that gotypesalias=1 is set with GODEBUG. This flag will be removed with Go 1.24. Arenas causes the "arena" standard library package to be visible to the outside world. Flags.BoringCrypto bool CacheProg adds support to cmd/go to use a child process to implement the build cache; see https://github.com/golang/go/issues/59719. CgoCheck2 enables an expensive cgo rule checker. When this experiment is enabled, cgo rule checks occur regardless of the GODEBUG=cgocheck setting provided at runtime. CoverageRedesign enables the new compiler-based code coverage tooling. Flags.FieldTrack bool HeapMinimum512KiB reduces the minimum heap size to 512 KiB. This was originally reduced as part of PacerRedesign, but has been broken out to its own experiment that is disabled by default. LoopVar changes loop semantics so that each iteration gets its own copy of the iteration variable. NewInliner enables a new+improved version of the function inlining phase within the Go compiler. Flags.PreemptibleLoops bool RangeFunc enables range over func. RegabiArgs enables register arguments/results in all compiled Go functions. Requires wrappers (to do ABI translation), and reflect (so reflection calls use registers). RegabiWrappers enables ABI wrappers for calling between ABI0 and ABIInternal functions. Without this, the ABIs are assumed to be identical so cross-ABI calls are direct. Flags.StaticLockRanking bool All returns a list of all experiment settings. Disabled experiments appear in the list prefixed by "no". Enabled returns a list of enabled experiments, as lower-cased experiment names. String returns the canonical GOEXPERIMENT string to enable this experiment configuration. (Experiments in the same state as in the baseline are elided.) *ExperimentFlags : expvar.Var *ExperimentFlags : fmt.Stringer func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) var Experiment
ARM v8.0 Cryptographic Extension. It includes the following features: * FEAT_AES, which includes the AESD and AESE instructions. * FEAT_PMULL, which includes the PMULL, PMULL2 instructions. * FEAT_SHA1, which includes the SHA1* instructions. * FEAT_SHA256, which includes the SHA256* instructions. Large Systems Extension Version string ( Goarm64Features) String() string Returns true if g supports giving ARM64 ISA Note that this function doesn't accept / test suffixes (like ",lse" or ",crypto") Goarm64Features : expvar.Var Goarm64Features : fmt.Stringer func ParseGoarm64(v string) (g Goarm64Features, e error) var GOARM64
Package-Level Functions (total 5)
Check exits the program with a fatal error if Error is non-nil.
GOGOARCH returns the name and value of the GO$GOARCH setting. For example, if GOARCH is "amd64" it might return "GOAMD64", "v2".
ParseGOEXPERIMENT parses a (GOOS, GOARCH, GOEXPERIMENT) configuration tuple and returns the enabled and baseline experiment flag sets. TODO(mdempsky): Move to internal/goexperiment.
Package-Level Variables (total 18)
Error is one of the errors found (if any) in the build configuration.
Experiment contains the toolchain experiments enabled for the current build. (This is not necessarily the set of experiments the compiler itself was built with.) experimentBaseline specifies the experiment flags that are enabled by default in the current toolchain. This is, in effect, the "control" configuration and any variation from this is an experiment.
FramePointerEnabled enables the use of platform conventions for saving frame pointers. This used to be an experiment, but now it's always enabled on platforms that support it. Note: must agree with runtime.framepointer_enabled.
var GOROOT string // cached for efficiency
Package-Level Constants (only one)
DefaultGOEXPERIMENT is the embedded default GOEXPERIMENT string. It is not guaranteed to be canonical.