mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-08 08:30:47 -09:00
Building Go 1.26 and later requires Go 1.24.6 or later for bootstrap. To support this we use Go version 1.25.8 as the version for go-bootstrap-stage5 and have the build for Go 1.26.1 depend on go-bootstrap-stage5. Go version 1.25.8 is the latest Go version we can build using go-bootstrap-stage4. The package build for go-bootstrap-stage5 is effectively identical to go-bootstrap-stage4 with only the Go version and stage number changed. Go 1.28 is expected to require a minor release of Go 1.26 for bootstrap. Fixes the following security vulnerabilities: - CVE-2026-25679: net/url: reject IPv6 literal not at start of host - CVE-2026-27142: html/template: URLs in meta attribute actions not escaped - CVE-2026-27137: crypto/x509: incorrect enforcement of email constraints - CVE-2026-27138: crypto/x509: panic in name constraint checking: certificates - CVE-2026-27139: os: FileInfo can escape from a Root For full release notes, see: https://go.dev/doc/devel/release#go1.26.0 Signed-off-by: Christian Stewart <christian@aperture.us> Signed-off-by: Julien Olivain <ju.o@free.fr>
95 lines
3.4 KiB
Plaintext
95 lines
3.4 KiB
Plaintext
# Target go packages should depend on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
|
config BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
|
bool
|
|
default y
|
|
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE5_ARCH_SUPPORTS || BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
|
|
# See https://go.dev/doc/install/source#environment
|
|
# See src/go/build/syslist.go for the list of supported architectures
|
|
depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
|
|
|| BR2_i386 || BR2_x86_64 || BR2_powerpc64le \
|
|
|| BR2_mips64 || BR2_mips64el || BR2_riscv || BR2_s390x
|
|
depends on !BR2_ARM_CPU_ARMV4
|
|
# MIPS R6 support in Go has not yet been developed.
|
|
depends on !BR2_MIPS_CPU_MIPS64R6
|
|
# Go doesn't support Risc-v 32-bit.
|
|
depends on !BR2_RISCV_32
|
|
# Go requires the following Risc-v General (G) features:
|
|
depends on !BR2_riscv || (BR2_RISCV_ISA_RVI && \
|
|
BR2_RISCV_ISA_RVM && BR2_RISCV_ISA_RVA && \
|
|
BR2_RISCV_ISA_RVF && BR2_RISCV_ISA_RVD)
|
|
|
|
config BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
|
|
bool
|
|
default y
|
|
depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
|
# Go doesn't support CGO linking on MIPS64x platforms
|
|
# See: https://github.com/karalabe/xgo/issues/46
|
|
depends on !BR2_mips64 && !BR2_mips64el
|
|
# go uses dlfcn.h + cgo for its plugin module
|
|
depends on !BR2_STATIC_LIBS
|
|
# cgo supports uses threads
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
|
|
# Host go packages should depend on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
|
|
config BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
|
|
bool
|
|
default y
|
|
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE5_ARCH_SUPPORTS || BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
|
|
|
|
# CGO linking for the host. Since we use the same compiler for target
|
|
# and host, if the target can't do CGO linking, then the host can't.
|
|
# But if the target is not supported by Go, then the host can do CGO
|
|
# linking (except when it itself does not support CGO linking).
|
|
config BR2_PACKAGE_HOST_GO_HOST_CGO_LINKING_SUPPORTS
|
|
bool
|
|
default y if BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
|
|
default y if !BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
|
|
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
|
|
depends on BR2_HOSTARCH != "mips64"
|
|
depends on BR2_HOSTARCH != "mips64el"
|
|
|
|
# Go packages should select BR2_PACKAGE_HOST_GO
|
|
config BR2_PACKAGE_HOST_GO
|
|
bool "host go"
|
|
depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
|
|
|
|
if BR2_PACKAGE_HOST_GO
|
|
|
|
choice
|
|
prompt "Go compiler variant"
|
|
default BR2_PACKAGE_HOST_GO_SRC if BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE5_ARCH_SUPPORTS
|
|
default BR2_PACKAGE_HOST_GO_BIN if BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
|
|
help
|
|
Select a Go compiler variant.
|
|
|
|
Default to 'host-go-src'.
|
|
|
|
config BR2_PACKAGE_HOST_GO_SRC
|
|
bool "host go (source)"
|
|
depends on BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE5_ARCH_SUPPORTS
|
|
help
|
|
This package will build the go compiler for the host.
|
|
|
|
config BR2_PACKAGE_HOST_GO_BIN
|
|
bool "host go (pre-built)"
|
|
depends on BR2_PACKAGE_HOST_GO_BIN_HOST_ARCH_SUPPORTS
|
|
help
|
|
This package will install pre-built versions of the compiler
|
|
|
|
endchoice
|
|
|
|
endif
|
|
|
|
config BR2_PACKAGE_PROVIDES_HOST_GO
|
|
string
|
|
# Default to host-go-bin unless src explicitly requested
|
|
default "host-go-src" if BR2_PACKAGE_HOST_GO_SRC
|
|
default "host-go-bin"
|
|
|
|
source "package/go/go-bin/Config.in.host"
|
|
source "package/go/go-bootstrap-stage1/Config.in.host"
|
|
source "package/go/go-bootstrap-stage2/Config.in.host"
|
|
source "package/go/go-bootstrap-stage3/Config.in.host"
|
|
source "package/go/go-bootstrap-stage4/Config.in.host"
|
|
source "package/go/go-bootstrap-stage5/Config.in.host"
|