All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version
@ 2025-11-13 12:56 Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config Peter Marko
                   ` (34 more replies)
  0 siblings, 35 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Hello everyone,

here is initial draft of meta-lts-mixins scarthgap/go branch.
Compared to kirkstone/go this now also contains proper testing.
Functionality is I think equivalent to current kirsktone/go branch.

Note that the testing depends on not-yet-merged series
  https://lists.openembedded.org/g/openembedded-core/message/226238

Creation notes:
* base commit copied from kirkstone/go branch
  * adapted release name and removed obsolete lines from layer.conf
* all recipe changes from master were picked into this series except those not suitable for scarthgap
  * 7321cc17ae5483f17fe9cdffea7b62acd9d9c3a2 meta: set S to be in UNPACKDIR in recipes that explicitly set
  * 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0 classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
* all test changes from master were submitted as backports to openembedded-core (link above)
* 3 patches were sent to openembedded master branch upstream based on testing and file comparison
  * https://lists.openembedded.org/g/openembedded-core/message/226226 oeqa: fix package detection in go sdk tests
  * https://lists.openembedded.org/g/openembedded-core/message/226231 go-helloworld: fix license
  * https://lists.openembedded.org/g/openembedded-core/message/226237 oeqa: drop unnecessary dependency from go runtime tests
* class/lib changes between scarthgap and master are following:
  * $ git log --oneline 8f46f60a703defc3e74adad382320c129cef0b06..origin/master -- \
        meta/classes/go-vendor.bbclass meta/classes-recipe/go.bbclass \
        meta/classes-recipe/goarch.bbclass meta/classes-recipe/go-mod.bbclass \
        meta/classes-recipe/go-ptest.bbclass meta/classes-recipe/go-mod-update-modules.bbclass
    26368cfb91 go-mod-update-modules.bbclass: Update license finding
    cfff8e9682 goarch.bbclass: do not leak TUNE_FEATURES into crosssdk task signatures
    0aa406d058 recipetool/create_go: proxy module fetching to go-mod-update-modules
    34bb889ffa classes/go-mod-update-modules: add class to generate module list
    5f8218c626 go-mod.bbclass: Calculate GO_MOD_CACHE_DIR relative to ${UNPACKDIR}
    374a91204b go: Check if GO_IMPORT is set in recipe and error if not
    791ab77ac0 go: remove support for GOROOT_FINAL
    30ea609d33 meta/meta-selftest: Fix variable assignment whitespace
    6c4e3206b6 classes: go-vendor: Change symlink creation.
    fc4f589cc7 go-vendor: Fix absolute paths issue
    114fe16f96 classes/go-vendor: Use UNPACKDIR instead of WORKDIR
    35496654db go-mod.bbclass: Unpack module dependency license files
    287daff0bb go-mod.bbclass: Set GO_MOD_CACHE_DIR
    cc4ec43a2b go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX
  * there are mostly changes to directory layout, fetching and style or new go-mod-update-modules class
  * GOROOT_FINAL can be kept as unused variable like in scarthgap
  * TUNE_FEATURES fix is being backported to scarthgap and kirkstone opembedded-core

Peter

---

Alexander Kanavin (4):
  go-helloworld: update to latest revision
  go-helloworld: update to latest revision
  go-helloworld: update to latest revision
  meta: remove consecutive blank lines

Gyorgy Sarvari (1):
  go-helloworld: update to latest revision

Hongxu Jia (4):
  go: upgrade 1.22.12 -> 1.24.0
  go: fix buildpath issue for go-runtime
  go: remove support for GOROOT_FINAL
  tcmode-default: bump GOVERSION to 1.24.0

Jose Quaresma (1):
  Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX"

Khem Raj (1):
  go-cross: Disable build with ccache

Osama Abdelkader (1):
  go-cross-canadian: fix binaries install and GOARCH

Peter Marko (18):
  Initial commit: add license, readme and layer config
  go-helloworld: add from openembedded-core scarthgap
  go: add from openembedded-core scarthgap
  go-helloworld: fix license
  go: upgrade 1.24.0 -> 1.24.1
  go: upgrade 1.24.1 -> 1.24.2
  go: upgrade 1.24.2 -> 1.24.3
  go: upgrade 1.24.3 -> 1.24.4
  go: set status of CVE-2024-3566
  go: upgrade 1.24.4 -> 1.24.5
  go: upgrade 1.24.5 -> 1.24.6
  go: upgrade 1.24.6 -> 1.25.0
  conf/layer: switch to golang 1.25
  go: upgrade 1.25.0 -> 1.25.1
  go: upgrade 1.25.1 -> 1.25.2
  go: upgrade 1.25.2 -> 1.25.3
  readme: update to markdown format
  readme: add QA chapter

Randolph Sapp (1):
  go: fix sigaction usage on i386 platforms

Richard Purdie (3):
  go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX
  meta/meta-selftest: Fix variable assignment whitespace
  go: Fix to work without gold on aarch64



^ permalink raw reply	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 02/34] go-helloworld: add from openembedded-core scarthgap Peter Marko
                   ` (33 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

This is a copy of these files from kirkstone/go branch modified for
scarthgap release.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 COPYING.MIT     | 17 +++++++++++++++++
 README          | 15 +++++++++++++++
 conf/layer.conf | 15 +++++++++++++++
 3 files changed, 47 insertions(+)
 create mode 100644 COPYING.MIT
 create mode 100644 README
 create mode 100644 conf/layer.conf

diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..fb950dc
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy 
+of this software and associated documentation files (the "Software"), to deal 
+in the Software without restriction, including without limitation the rights 
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
+copies of the Software, and to permit persons to whom the Software is 
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in 
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
+THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000..9e270f2
--- /dev/null
+++ b/README
@@ -0,0 +1,15 @@
+"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
+
+At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
+and officially Kirkstone supports only that. This thin special-purpose mixin
+layer is meant to address this issue by backporting Go recipes from the master
+branch of openembedded-core.
+
+The patches can be backport from openembedded-core with:
+
+ git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \
+ git am --signoff -p4 --directory=recipes-devtools/go
+
+Maintainers:
+Jose Quaresma <jose.quaresma@foundries.io>
+Peter Marko <peter.marko@siemens.com>
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..41bc938
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,15 @@
+# We have a conf and classes directory, append to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have a recipes directory, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "lts-go-mixin"
+BBFILE_PATTERN_lts-go-mixin := "^${LAYERDIR}/"
+BBFILE_PRIORITY_lts-go-mixin = "6"
+
+LAYERSERIES_COMPAT_lts-go-mixin = "scarthgap"
+
+LAYERDEPENDS_lts-go-mixin = " \
+    core \
+"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 02/34] go-helloworld: add from openembedded-core scarthgap
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 03/34] go: " Peter Marko
                   ` (32 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

This allows a quick smoke test for whether go toolchain produces
working executables.

Last release where go-helloworld recipe was identical on scarthgap and
master is yocto-5.0.11. Afterwards license was fixed on scarthgap and
no further updates were done.
* fa45d6d5bec8fe503ff6b9166a3b4af31ea95369 go-helloworld: fix license
This commit is missing on master and will be submitted there.

Version copied here is from yocto-5.0.11 as a clean cherry-pick base.
* https://git.openembedded.org/openembedded-core/tree/meta/recipes-extended/go-examples?h=yocto-5.0.11

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 .../go-examples/go-helloworld_0.1.bb          | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 recipes-extended/go-examples/go-helloworld_0.1.bb

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
new file mode 100644
index 0000000..98cd4d8
--- /dev/null
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -0,0 +1,22 @@
+SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
+SECTION = "examples"
+HOMEPAGE = "https://golang.org/"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
+SRCREV = "d9923f6970e9ba7e0d23aa9448ead71ea57235ae"
+UPSTREAM_CHECK_COMMITS = "1"
+
+GO_IMPORT = "golang.org/x/example"
+GO_INSTALL = "${GO_IMPORT}/hello"
+
+export GO111MODULE="off"
+
+inherit go
+
+# This is just to make clear where this example is
+do_install:append() {
+    mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
+}


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 03/34] go: add from openembedded-core scarthgap
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 02/34] go-helloworld: add from openembedded-core scarthgap Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 04/34] go-helloworld: update to latest revision Peter Marko
                   ` (31 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Last release where go recipes were identical on scarthgap an master is
yocto-5.0.5 with go 1.22.8. Afterwards master and scarthgap still
followed the same versions until yocto-5.0.8 with go 1.22.12 except
modifying it on master in addition with:
* 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0
  classes/recipes: Switch virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
* 7321cc17ae5483f17fe9cdffea7b62acd9d9c3a2\
  meta: set S to be in UNPACKDIR in recipes that explicitly set S
* 4636b7206b2e4247835d60956e62f5a2efea9e81
  go: Fix to work without gold on aarch64

Version copied here is from yocto-5.0.8 knowingly not having these three
commits. First two are not suitable for scarthgap, third will be picked
later when processing all commits from master. Later on scarthgap branch
only CVE fixes are present which are not relevant as this repository is
going to follow newer versions from master and would create additional
cherry-pick conflicts or revert commits.
* https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/go?h=yocto-5.0.8

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-1.22.12.inc            |  18 ++
 .../go/go-binary-native_1.22.12.bb            |  50 ++++
 recipes-devtools/go/go-common.inc             |  47 ++++
 recipes-devtools/go/go-cross-canadian.inc     |  61 +++++
 .../go/go-cross-canadian_1.22.12.bb           |   2 +
 recipes-devtools/go/go-cross.inc              |  52 +++++
 recipes-devtools/go/go-cross_1.22.12.bb       |   2 +
 recipes-devtools/go/go-crosssdk.inc           |  44 ++++
 recipes-devtools/go/go-crosssdk_1.22.12.bb    |   2 +
 recipes-devtools/go/go-runtime.inc            |  94 ++++++++
 recipes-devtools/go/go-runtime_1.22.12.bb     |   3 +
 recipes-devtools/go/go-target.inc             |  53 +++++
 ...ent-based-hash-generation-less-pedan.patch | 165 +++++++++++++
 ...OOLDIR-to-be-overridden-in-the-envir.patch |  52 +++++
 ...3-ld-add-soname-to-shareable-objects.patch |  48 ++++
 ...de-CC-when-building-dist-and-go_boot.patch |  41 ++++
 ...dist-separate-host-and-target-builds.patch | 218 ++++++++++++++++++
 ...d-go-make-GOROOT-precious-by-default.patch | 111 +++++++++
 ...ut-build-specific-paths-from-linker-.patch |  59 +++++
 ...ldgo.go-do-not-hardcode-host-compile.patch |  43 ++++
 ...uild-paths-on-staticly-linked-arches.patch |  58 +++++
 recipes-devtools/go/go_1.22.12.bb             |  18 ++
 22 files changed, 1241 insertions(+)
 create mode 100644 recipes-devtools/go/go-1.22.12.inc
 create mode 100644 recipes-devtools/go/go-binary-native_1.22.12.bb
 create mode 100644 recipes-devtools/go/go-common.inc
 create mode 100644 recipes-devtools/go/go-cross-canadian.inc
 create mode 100644 recipes-devtools/go/go-cross-canadian_1.22.12.bb
 create mode 100644 recipes-devtools/go/go-cross.inc
 create mode 100644 recipes-devtools/go/go-cross_1.22.12.bb
 create mode 100644 recipes-devtools/go/go-crosssdk.inc
 create mode 100644 recipes-devtools/go/go-crosssdk_1.22.12.bb
 create mode 100644 recipes-devtools/go/go-runtime.inc
 create mode 100644 recipes-devtools/go/go-runtime_1.22.12.bb
 create mode 100644 recipes-devtools/go/go-target.inc
 create mode 100644 recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
 create mode 100644 recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
 create mode 100644 recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
 create mode 100644 recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
 create mode 100644 recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
 create mode 100644 recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
 create mode 100644 recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
 create mode 100644 recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
 create mode 100644 recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
 create mode 100644 recipes-devtools/go/go_1.22.12.bb

diff --git a/recipes-devtools/go/go-1.22.12.inc b/recipes-devtools/go/go-1.22.12.inc
new file mode 100644
index 0000000..05aa3a9
--- /dev/null
+++ b/recipes-devtools/go/go-1.22.12.inc
@@ -0,0 +1,18 @@
+require go-common.inc
+
+FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go:"
+
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+
+SRC_URI += "\
+    file://0001-cmd-go-make-content-based-hash-generation-less-pedan.patch \
+    file://0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch \
+    file://0003-ld-add-soname-to-shareable-objects.patch \
+    file://0004-make.bash-override-CC-when-building-dist-and-go_boot.patch \
+    file://0005-cmd-dist-separate-host-and-target-builds.patch \
+    file://0006-cmd-go-make-GOROOT-precious-by-default.patch \
+    file://0007-exec.go-filter-out-build-specific-paths-from-linker-.patch \
+    file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
+    file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
+"
+SRC_URI[main.sha256sum] = "012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71"
diff --git a/recipes-devtools/go/go-binary-native_1.22.12.bb b/recipes-devtools/go/go-binary-native_1.22.12.bb
new file mode 100644
index 0000000..747737f
--- /dev/null
+++ b/recipes-devtools/go/go-binary-native_1.22.12.bb
@@ -0,0 +1,50 @@
+# This recipe is for bootstrapping our go-cross from a prebuilt binary of Go from golang.org.
+
+SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
+HOMEPAGE = " http://golang.org/"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+
+PROVIDES = "go-native"
+
+# Checksums available at https://go.dev/dl/
+SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
+SRC_URI[go_linux_amd64.sha256sum] = "4fa4f869b0f7fc6bb1eb2660e74657fbf04cdd290b5aef905585c86051b34d43"
+SRC_URI[go_linux_arm64.sha256sum] = "fd017e647ec28525e86ae8203236e0653242722a7436929b1f775744e26278e7"
+SRC_URI[go_linux_ppc64le.sha256sum] = "9573d30003b0796717a99d9e2e96c48fddd4fc0f29d840f212c503b03d7de112"
+
+UPSTREAM_CHECK_URI = "https://golang.org/dl/"
+UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
+
+CVE_PRODUCT = "golang:go"
+
+S = "${WORKDIR}/go"
+
+inherit goarch native
+
+do_compile() {
+    :
+}
+
+make_wrapper() {
+	rm -f ${D}${bindir}/$1
+	cat <<END >${D}${bindir}/$1
+#!/bin/bash
+here=\`dirname \$0\`
+export GOROOT="${GOROOT:-\`readlink -f \$here/../lib/go\`}"
+\$here/../lib/go/bin/$1 "\$@"
+END
+	chmod +x ${D}${bindir}/$1
+}
+
+do_install() {
+    find ${S} -depth -type d -name testdata -exec rm -rf {} +
+
+	install -d ${D}${bindir} ${D}${libdir}/go
+	cp --preserve=mode,timestamps -R ${S}/ ${D}${libdir}/
+
+	for f in ${S}/bin/*
+	do
+	  	make_wrapper `basename $f`
+	done
+}
diff --git a/recipes-devtools/go/go-common.inc b/recipes-devtools/go/go-common.inc
new file mode 100644
index 0000000..db16579
--- /dev/null
+++ b/recipes-devtools/go/go-common.inc
@@ -0,0 +1,47 @@
+SUMMARY = "Go programming language compiler"
+DESCRIPTION = " The Go programming language is an open source project to make \
+ programmers more productive. Go is expressive, concise, clean, and\
+ efficient. Its concurrency mechanisms make it easy to write programs\
+ that get the most out of multicore and networked machines, while its\
+ novel type system enables flexible and modular program construction.\
+ Go compiles quickly to machine code yet has the convenience of\
+ garbage collection and the power of run-time reflection. It's a\
+ fast, statically typed, compiled language that feels like a\
+ dynamically typed, interpreted language."
+
+HOMEPAGE = " http://golang.org/"
+LICENSE = "BSD-3-Clause"
+
+inherit goarch
+
+SRC_URI = "https://golang.org/dl/go${PV}.src.tar.gz;name=main"
+S = "${WORKDIR}/go"
+B = "${S}"
+UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar"
+
+# all recipe variants are created from the same product
+CVE_PRODUCT = "golang:go"
+
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+SSTATE_SCAN_CMD = "true"
+
+export GOROOT_OVERRIDE = "1"
+export GOTMPDIR ?= "${WORKDIR}/build-tmp"
+GOTMPDIR[vardepvalue] = ""
+export CGO_ENABLED = "1"
+
+export GOHOSTOS ?= "${BUILD_GOOS}"
+export GOHOSTARCH ?= "${BUILD_GOARCH}"
+export GOROOT_BOOTSTRAP ?= "${STAGING_LIBDIR_NATIVE}/go"
+export GOOS ?= "${TARGET_GOOS}"
+export GOARCH ?= "${TARGET_GOARCH}"
+export GOARM ?= "${TARGET_GOARM}"
+export GO386 ?= "${TARGET_GO386}"
+export GOMIPS ?= "${TARGET_GOMIPS}"
+export GOROOT_FINAL ?= "${libdir}/go"
+
+export GODEBUG = "gocachehash=1"
+
+do_compile:prepend() {
+	BUILD_CC=${BUILD_CC}
+}
diff --git a/recipes-devtools/go/go-cross-canadian.inc b/recipes-devtools/go/go-cross-canadian.inc
new file mode 100644
index 0000000..dd485b6
--- /dev/null
+++ b/recipes-devtools/go/go-cross-canadian.inc
@@ -0,0 +1,61 @@
+inherit cross-canadian
+
+DEPENDS = "go-native virtual/${HOST_PREFIX}go virtual/nativesdk-${HOST_PREFIX}go-runtime \
+           virtual/${HOST_PREFIX}gcc virtual/nativesdk-libc \
+           virtual/nativesdk-${HOST_PREFIX}compilerlibs"
+PN = "go-cross-canadian-${TRANSLATED_TARGET_ARCH}"
+
+# it uses gcc on build machine during go-cross-canadian bootstrap, but
+# the gcc version may be old and not support option '-fmacro-prefix-map'
+# which is one of default values of DEBUG_PREFIX_MAP
+DEBUG_PREFIX_MAP = "-fdebug-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR} \
+                    -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+                    -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+                    "
+
+export GOTOOLDIR_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/${HOST_SYS}/go/pkg/tool/${BUILD_GOTUPLE}"
+export CGO_CFLAGS = "${CFLAGS}"
+export CGO_LDFLAGS = "${LDFLAGS}"
+export GO_LDFLAGS = '-extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
+
+do_configure[noexec] = "1"
+
+do_compile() {
+	export CC_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS}"
+	export CXX_FOR_${HOST_GOTUPLE}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS}"
+	cd src
+	./make.bash --target-only --no-banner
+	cd ${B}
+}
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
+
+
+make_wrapper() {
+	rm -f ${D}${bindir}/$2
+	cat <<END >${D}${bindir}/$2
+#!/bin/sh
+here=\`dirname \$0\`
+native_goroot=\`readlink -f \$here/../../lib/${TARGET_SYS}/go\`
+export GOARCH="${TARGET_GOARCH}"
+export GOOS="${TARGET_GOOS}"
+test -n "\$GOARM" || export GOARM="${TARGET_GOARM}"
+test -n "\$GO386" || export GO386="${TARGET_GO386}"
+test -n "\$GOMIPS" || export GOMIPS="${TARGET_GOMIPS}"
+export GOTOOLDIR="\$native_goroot/pkg/tool/${HOST_GOTUPLE}"
+test -n "\$GOROOT" || export GOROOT="\$OECORE_TARGET_SYSROOT/${target_libdir}/go"
+\$here/../../lib/${TARGET_SYS}/go/bin/$1 "\$@"
+END
+	chmod +x ${D}${bindir}/$2
+}
+
+do_install() {
+	install -d ${D}${libdir}/go/pkg/tool
+	cp --preserve=mode,timestamps -R ${B}/pkg/tool/${HOST_GOTUPLE} ${D}${libdir}/go/pkg/tool/
+	install -d ${D}${bindir} ${D}${libdir}/go/bin
+	for f in ${B}/${GO_BUILD_BINDIR}/*
+	do
+		base=`basename $f`
+		install -m755 $f ${D}${libdir}/go/bin
+		make_wrapper $base ${TARGET_PREFIX}$base
+	done
+}
diff --git a/recipes-devtools/go/go-cross-canadian_1.22.12.bb b/recipes-devtools/go/go-cross-canadian_1.22.12.bb
new file mode 100644
index 0000000..7ac9449
--- /dev/null
+++ b/recipes-devtools/go/go-cross-canadian_1.22.12.bb
@@ -0,0 +1,2 @@
+require go-cross-canadian.inc
+require go-${PV}.inc
diff --git a/recipes-devtools/go/go-cross.inc b/recipes-devtools/go/go-cross.inc
new file mode 100644
index 0000000..a0fbdbe
--- /dev/null
+++ b/recipes-devtools/go/go-cross.inc
@@ -0,0 +1,52 @@
+inherit cross
+
+PROVIDES = "virtual/${TUNE_PKGARCH}-go"
+DEPENDS = "go-native"
+
+PN = "go-cross-${TUNE_PKGARCH}"
+
+export GOCACHE = "${B}/.cache"
+CC = "${@d.getVar('BUILD_CC').strip()}"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+	export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
+	export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}"
+	cd src
+	./make.bash --host-only --no-banner
+	cd ${B}
+}
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
+
+make_wrapper() {
+	rm -f ${D}${bindir}/$2
+	cat <<END >${D}${bindir}/$2
+#!/bin/bash
+here=\`dirname \$0\`
+export GOARCH="${TARGET_GOARCH}"
+export GOOS="${TARGET_GOOS}"
+export GOARM="\${GOARM:-${TARGET_GOARM}}"
+export GO386="\${GO386:-${TARGET_GO386}}"
+export GOMIPS="\${GOMIPS:-${TARGET_GOMIPS}}"
+\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@"
+END
+	chmod +x ${D}${bindir}/$2
+}
+
+do_install() {
+	install -d ${D}${libdir}/go
+	cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/
+	install -d ${D}${libdir}/go/src
+	(cd ${S}/src; for d in *; do \
+		[ ! -d $d ] || cp --preserve=mode,timestamps -R ${S}/src/$d ${D}${libdir}/go/src/; \
+	done)
+	find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
+	install -d ${D}${bindir} ${D}${libdir}/go/bin
+	for f in ${B}/bin/*
+	do
+		base=`basename $f`
+		install -m755 $f ${D}${libdir}/go/bin
+		make_wrapper $base ${TARGET_PREFIX}$base
+	done
+}
diff --git a/recipes-devtools/go/go-cross_1.22.12.bb b/recipes-devtools/go/go-cross_1.22.12.bb
new file mode 100644
index 0000000..80b5a03
--- /dev/null
+++ b/recipes-devtools/go/go-cross_1.22.12.bb
@@ -0,0 +1,2 @@
+require go-cross.inc
+require go-${PV}.inc
diff --git a/recipes-devtools/go/go-crosssdk.inc b/recipes-devtools/go/go-crosssdk.inc
new file mode 100644
index 0000000..1293900
--- /dev/null
+++ b/recipes-devtools/go/go-crosssdk.inc
@@ -0,0 +1,44 @@
+inherit crosssdk
+
+DEPENDS = "go-native virtual/${TARGET_PREFIX}gcc virtual/nativesdk-${TARGET_PREFIX}compilerlibs virtual/${TARGET_PREFIX}binutils"
+PN = "go-crosssdk-${SDK_SYS}"
+PROVIDES = "virtual/${TARGET_PREFIX}go"
+
+export GOCACHE = "${B}/.cache"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+	export CC_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
+	export CXX_FOR_${TARGET_GOTUPLE}="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${STAGING_DIR_TARGET}${SDKPATHNATIVE}"
+	cd src
+	./make.bash --host-only --no-banner
+	cd ${B}
+}
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
+
+make_wrapper() {
+    rm -f ${D}${bindir}/$2
+    cat <<END >${D}${bindir}/$2
+#!/bin/bash
+here=\`dirname \$0\`
+export GOARCH="${TARGET_GOARCH}"
+export GOOS="${TARGET_GOOS}"
+\$here/../../lib/${CROSS_TARGET_SYS_DIR}/go/bin/$1 "\$@"
+END
+    chmod +x ${D}${bindir}/$2
+}
+
+do_install() {
+	install -d ${D}${libdir}/go
+	install -d ${D}${libdir}/go/bin
+	install -d ${D}${libdir}/go/pkg/tool
+	install -d ${D}${bindir}
+	cp --preserve=mode,timestamps -R ${S}/pkg/tool/${BUILD_GOTUPLE} ${D}${libdir}/go/pkg/tool/
+	for f in ${B}/bin/*
+	do
+		base=`basename $f`
+		install -m755 $f ${D}${libdir}/go/bin
+		make_wrapper $base ${TARGET_PREFIX}$base
+	done
+}
diff --git a/recipes-devtools/go/go-crosssdk_1.22.12.bb b/recipes-devtools/go/go-crosssdk_1.22.12.bb
new file mode 100644
index 0000000..1857c8a
--- /dev/null
+++ b/recipes-devtools/go/go-crosssdk_1.22.12.bb
@@ -0,0 +1,2 @@
+require go-crosssdk.inc
+require go-${PV}.inc
diff --git a/recipes-devtools/go/go-runtime.inc b/recipes-devtools/go/go-runtime.inc
new file mode 100644
index 0000000..413cf6d
--- /dev/null
+++ b/recipes-devtools/go/go-runtime.inc
@@ -0,0 +1,94 @@
+DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
+DEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go"
+PROVIDES = "virtual/${TARGET_PREFIX}go-runtime"
+
+DEBUG_PREFIX_MAP = "\
+                     -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+                     -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+"
+
+export CGO_CFLAGS = "${CFLAGS}"
+export CGO_CPPFLAGS = "${CPPFLAGS}"
+export CGO_CXXFLAGS = "${CXXFLAGS}"
+# Filter out -fdebug-prefix-map options as they clash with the GO's build system
+export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
+export GOCACHE = "${B}/.cache"
+
+GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}"
+GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"'
+
+do_configure() {
+	:
+}
+
+do_configure:libc-musl() {
+	rm -f ${S}/src/runtime/race/*.syso
+}
+
+do_compile() {
+	export CC_FOR_${TARGET_GOTUPLE}="${CC}"
+	export CXX_FOR_${TARGET_GOTUPLE}="${CXX}"
+
+	cd src
+	./make.bash --target-only --no-banner std
+	if [ -n "${GO_DYNLINK}" ]; then
+		export GOTOOLDIR="${B}/pkg/tool/native_native"
+		CC="$CC_FOR_${TARGET_GOTUPLE}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
+			$GOTOOLDIR/go_bootstrap install -linkshared -buildmode=shared ${GO_SHLIB_LDFLAGS} std
+	fi
+	cd ${B}
+}
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
+
+do_install() {
+	install -d ${D}${libdir}/go/src
+	cp --preserve=mode,timestamps -R ${B}/pkg ${D}${libdir}/go/
+	if [ "${BUILD_GOTUPLE}" != "${TARGET_GOTUPLE}" ]; then
+		rm -rf ${D}${libdir}/go/pkg/${BUILD_GOTUPLE}
+		rm -rf ${D}${libdir}/go/pkg/obj/${BUILD_GOTUPLE}
+	fi
+	rm -rf ${D}${libdir}/go/pkg/tool
+	rm -rf ${D}${libdir}/go/pkg/obj
+	rm -rf ${D}${libdir}/go/pkg/bootstrap
+	# the cmd directory is built for the native arch so if BUILD == TARGET
+	rm -rf ${D}${libdir}/go/pkg/${BUILD_GOTUPLE}/cmd
+	find src -mindepth 1 -maxdepth 1 -type d | while read srcdir; do
+		cp --preserve=mode,timestamps -R $srcdir ${D}${libdir}/go/src/
+	done
+	find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
+	rm -f ${D}${libdir}/go/src/cmd/dist/dist
+        rm -f ${D}${libdir}/go/src/cmd/cgo/zdefaultcc.go
+        rm -f ${D}${libdir}/go/src/cmd/go/internal/cfg/zdefaultcc.go
+
+}
+
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = "${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*${SOLIBSDEV}"
+FILES:${PN}-dev = "${libdir}/go/src ${libdir}/go/pkg/include \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*/*.shlibname \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*.a \
+                   ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink/*/*/*/*/*/*/*.a \
+"
+FILES:${PN}-staticdev = "${libdir}/go/pkg/${TARGET_GOTUPLE}"
+
+# Go sources include some scripts and pre-built binaries for
+# multiple architectures.  The static .a files for dynamically-linked
+# runtime are also required in -dev.
+INSANE_SKIP:${PN}-dev = "staticdev file-rdeps arch"
+
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+INHIBIT_SYSROOT_STRIP = "1"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/recipes-devtools/go/go-runtime_1.22.12.bb b/recipes-devtools/go/go-runtime_1.22.12.bb
new file mode 100644
index 0000000..63464a1
--- /dev/null
+++ b/recipes-devtools/go/go-runtime_1.22.12.bb
@@ -0,0 +1,3 @@
+require go-${PV}.inc
+require go-runtime.inc
+
diff --git a/recipes-devtools/go/go-target.inc b/recipes-devtools/go/go-target.inc
new file mode 100644
index 0000000..981c7ab
--- /dev/null
+++ b/recipes-devtools/go/go-target.inc
@@ -0,0 +1,53 @@
+DEPENDS = "virtual/${TUNE_PKGARCH}-go go-native"
+DEPENDS:class-nativesdk = "virtual/${TARGET_PREFIX}go go-native"
+
+DEBUG_PREFIX_MAP = "\
+                     -fdebug-prefix-map=${STAGING_DIR_HOST}= \
+                     -fdebug-prefix-map=${STAGING_DIR_NATIVE}= \
+"
+
+export CGO_CFLAGS = "${CFLAGS}"
+export CGO_CPPFLAGS = "${CPPFLAGS}"
+export CGO_CXXFLAGS = "${CXXFLAGS}"
+# Filter out -fdebug-prefix-map options as they clash with the GO's build system
+export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-prefix-map'), d.getVar('LDFLAGS').split())) }"
+
+export GOCACHE = "${B}/.cache"
+export GO_LDFLAGS = ""
+export GOBUILDFLAGS = "-gcflags=-trimpath=$GOPATH -asmflags=-trimpath=$GOPATH -trimpath"
+CC:append:class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+	export CC_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CC}"
+	export CXX_FOR_${TARGET_GOOS}_${TARGET_GOARCH}="${CXX}"
+
+	cd src
+	./make.bash --target-only --no-banner
+	cd ${B}
+}
+do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
+
+do_install() {
+	install -d ${D}${libdir}/go/pkg/tool
+	cp --preserve=mode,timestamps -R ${B}/pkg/tool/${TARGET_GOTUPLE} ${D}${libdir}/go/pkg/tool/
+	install -d ${D}${libdir}/go/src
+	cp --preserve=mode,timestamps -R ${S}/src/cmd ${D}${libdir}/go/src/
+	find ${D}${libdir}/go/src -depth -type d -name testdata -exec rm -rf {} \;
+	install -d ${D}${libdir}/go/bin
+	install -d ${D}${bindir}
+	for f in ${B}/${GO_BUILD_BINDIR}/*; do
+		name=`basename $f`
+		install -m 0755 $f ${D}${libdir}/go/bin/
+		ln -sf ../${baselib}/go/bin/$name ${D}${bindir}/
+	done
+	rm -rf ${D}${libdir}/go/src
+}
+
+PACKAGES = "${PN} ${PN}-dev"
+FILES:${PN} = "${libdir}/go/bin ${libdir}/go/pkg/tool/${TARGET_GOTUPLE} ${bindir}"
+RDEPENDS:${PN} = "go-runtime"
+INSANE_SKIP:${PN} = "ldflags"
+
+BBCLASSEXTEND = "nativesdk"
diff --git a/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
new file mode 100644
index 0000000..a8e5d6e
--- /dev/null
+++ b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -0,0 +1,165 @@
+From 9b3ebef0356594a447906f00fe80584952c08289 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 28 Mar 2022 10:59:03 -0700
+Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
+
+Go 1.10's build tool now uses content-based hashes to
+determine when something should be built or re-built.
+This same mechanism is used to maintain a built-artifact
+cache for speeding up builds.
+
+However, the hashes it generates include information that
+doesn't work well with OE, nor with using a shared runtime
+library.
+
+First, it embeds path names to source files, unless
+building within GOROOT.  This prevents the building
+of a package in GOPATH for later staging into GOROOT.
+
+This patch adds support for the environment variable
+GOPATH_OMIT_IN_ACTIONID.  If present, path name
+embedding is disabled.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alex Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Matt Madison <matt@madison.systems>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/go/internal/envcmd/env.go |  2 +-
+ src/cmd/go/internal/work/exec.go  | 44 ++++++++++++++++++++++++-------
+ 2 files changed, 36 insertions(+), 10 deletions(-)
+
+diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
+index c7c2e83..4a90d9d 100644
+--- a/src/cmd/go/internal/envcmd/env.go
++++ b/src/cmd/go/internal/envcmd/env.go
+@@ -189,7 +189,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
+ 		}
+ 	}()
+ 
+-	cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{})
++	cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false)
+ 	if err != nil {
+ 		// Should not happen - b.CFlags was given an empty package.
+ 		fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index e05471b..9724cd0 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -232,6 +232,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
+ 	writeActionGraph()
+ }
+ 
++var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != ""
++
+ // buildActionID computes the action ID for a build action.
+ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 	p := a.Package
+@@ -253,7 +255,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 		if p.Module != nil {
+ 			fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
+ 		}
+-	} else if p.Goroot {
++	} else if p.Goroot || omitGopath {
+ 		// The Go compiler always hides the exact value of $GOROOT
+ 		// when building things in GOROOT.
+ 		//
+@@ -285,9 +287,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 	}
+ 	if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 {
+ 		fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
+-		cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p)
++		cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true)
+ 
+-		ccExe := b.ccExe()
++		ccExe := filterCompilerFlags(b.ccExe(), true)
+ 		fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
+ 		// Include the C compiler tool ID so that if the C
+ 		// compiler changes we rebuild the package.
+@@ -295,14 +297,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 			fmt.Fprintf(h, "CC ID=%q\n", ccID)
+ 		}
+ 		if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
+-			cxxExe := b.cxxExe()
++			cxxExe := filterCompilerFlags(b.cxxExe(), true)
+ 			fmt.Fprintf(h, "CXX=%q %q\n", cxxExe, cxxflags)
+ 			if cxxID, _, err := b.gccToolID(cxxExe[0], "c++"); err == nil {
+ 				fmt.Fprintf(h, "CXX ID=%q\n", cxxID)
+ 			}
+ 		}
+ 		if len(p.FFiles) > 0 {
+-			fcExe := b.fcExe()
++			fcExe := filterCompilerFlags(b.fcExe(), true)
+ 			fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
+ 			if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil {
+ 				fmt.Fprintf(h, "FC ID=%q\n", fcID)
+@@ -319,7 +321,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 		}
+ 	}
+ 	if p.Internal.BuildInfo != nil {
+-		fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
++		//fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
+ 	}
+ 
+ 	// Configuration specific to compiler toolchain.
+@@ -2679,8 +2681,25 @@ func envList(key, def string) []string {
+ 	return args
+ }
+ 
++var filterFlags = os.Getenv("CGO_PEDANTIC") == ""
++
++func filterCompilerFlags(flags []string, keepfirst bool) []string {
++	var newflags []string
++   var realkeepfirst bool = keepfirst
++	if !filterFlags {
++		return flags
++	}
++	for _, flag := range flags {
++		if strings.HasPrefix(flag, "-m") || realkeepfirst {
++			newflags = append(newflags, flag)
++           realkeepfirst = false
++		}
++	}
++	return newflags
++}
++
+ // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo.
+-func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
++func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) {
+ 	if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
+ 		return
+ 	}
+@@ -2696,6 +2715,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+ 	if ldflags, err = buildFlags("LDFLAGS", defaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
+ 		return
+ 	}
++	if filtered {
++		cppflags = filterCompilerFlags(cppflags, false)
++		cflags = filterCompilerFlags(cflags, false)
++		cxxflags = filterCompilerFlags(cxxflags, false)
++		fflags = filterCompilerFlags(fflags, false)
++		ldflags = filterCompilerFlags(ldflags, false)
++	}
+ 
+ 	return
+ }
+@@ -2713,7 +2739,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
+ 	p := a.Package
+ 	sh := b.Shell(a)
+ 
+-	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p)
++	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false)
+ 	if err != nil {
+ 		return nil, nil, err
+ 	}
+@@ -3268,7 +3294,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
+ 	p := a.Package
+ 	sh := b.Shell(a)
+ 
+-	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p)
++	cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false)
+ 	if err != nil {
+ 		return "", "", err
+ 	}
diff --git a/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
new file mode 100644
index 0000000..a69ada4
--- /dev/null
+++ b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
@@ -0,0 +1,52 @@
+From 687ff9d17f756145f9a58413070cccbd488d1ea2 Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:15:37 +0430
+Subject: [PATCH] cmd/go: Allow GOTOOLDIR to be overridden in the environment
+
+to allow for split host/target build roots
+
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/dist/build.go          | 4 +++-
+ src/cmd/go/internal/cfg/cfg.go | 6 +++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
+index 32e59b4..06ee4de 100644
+--- a/src/cmd/dist/build.go
++++ b/src/cmd/dist/build.go
+@@ -259,7 +259,9 @@ func xinit() {
+ 	}
+ 	xatexit(rmworkdir)
+ 
+-	tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
++	if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
++		tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
++	}
+ 
+ 	goversion := findgoversion()
+ 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
+diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
+index a8daa2d..393ada3 100644
+--- a/src/cmd/go/internal/cfg/cfg.go
++++ b/src/cmd/go/internal/cfg/cfg.go
+@@ -230,7 +230,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
+ 			// This matches the initialization of ToolDir in go/build, except for
+ 			// using ctxt.GOROOT and the installed GOOS and GOARCH rather than the
+ 			// GOROOT, GOOS, and GOARCH reported by the runtime package.
+-			build.ToolDir = filepath.Join(GOROOTpkg, "tool", installedGOOS+"_"+installedGOARCH)
++	   		if s := os.Getenv("GOTOOLDIR"); s != "" {
++				build.ToolDir = filepath.Clean(s)
++			} else {
++				build.ToolDir = filepath.Join(GOROOTpkg, "tool", installedGOOS+"_"+installedGOARCH)
++			}
+ 		}
+ 	}
+ }
diff --git a/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
new file mode 100644
index 0000000..abc5faa
--- /dev/null
+++ b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
@@ -0,0 +1,48 @@
+From 01fe178b292db12d811811ff2d8d56b225e4b5e8 Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:16:32 +0430
+Subject: [PATCH] ld: add soname to shareable objects
+
+so that OE's shared library dependency handling
+can find them.
+
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/link/internal/ld/lib.go | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
+index eab74dc..ae9bbc9 100644
+--- a/src/cmd/link/internal/ld/lib.go
++++ b/src/cmd/link/internal/ld/lib.go
+@@ -1576,6 +1576,7 @@ func (ctxt *Link) hostlink() {
+ 				argv = append(argv, "-Wl,-z,relro")
+ 			}
+ 			argv = append(argv, "-shared")
++			argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
+ 			if ctxt.HeadType == objabi.Hwindows {
+ 				argv = addASLRargs(argv, *flagAslr)
+ 			} else {
+@@ -1591,6 +1592,7 @@ func (ctxt *Link) hostlink() {
+ 			argv = append(argv, "-Wl,-z,relro")
+ 		}
+ 		argv = append(argv, "-shared")
++		argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
+ 	case BuildModePlugin:
+ 		if ctxt.HeadType == objabi.Hdarwin {
+ 			argv = append(argv, "-dynamiclib")
+@@ -1599,6 +1601,7 @@ func (ctxt *Link) hostlink() {
+ 				argv = append(argv, "-Wl,-z,relro")
+ 			}
+ 			argv = append(argv, "-shared")
++			argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile)))
+ 		}
+ 	}
+ 
diff --git a/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch b/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
new file mode 100644
index 0000000..9df43c4
--- /dev/null
+++ b/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -0,0 +1,41 @@
+From e47d157631d1b97403f253c63d361b7380b32c22 Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:17:16 +0430
+Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
+
+for handling OE cross-canadian builds.
+
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/make.bash | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/make.bash b/src/make.bash
+index 76ad516..074e129 100755
+--- a/src/make.bash
++++ b/src/make.bash
+@@ -198,7 +198,7 @@ if [[ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]]; then
+ 	exit 1
+ fi
+ rm -f cmd/dist/dist
+-GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
++CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+ 
+ # -e doesn't propagate out of eval, so check success by hand.
+ eval $(./cmd/dist/dist env -p || echo FAIL=true)
+@@ -223,7 +223,7 @@ fi
+ # Run dist bootstrap to complete make.bash.
+ # Bootstrap installs a proper cmd/dist, built with the new toolchain.
+ # Throw ours, built with the bootstrap toolchain, away after bootstrap.
+-./cmd/dist/dist bootstrap -a $vflag $GO_DISTFLAGS "$@"
++CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap -a $vflag $GO_DISTFLAGS "$@"
+ rm -f ./cmd/dist/dist
+ 
+ # DO NOT ADD ANY NEW CODE HERE.
diff --git a/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
new file mode 100644
index 0000000..bc25d08
--- /dev/null
+++ b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
@@ -0,0 +1,218 @@
+From bae1cec790ff17c4c93a2f8fda27036e5e021f6d Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:18:12 +0430
+Subject: [PATCH] cmd/dist: separate host and target builds
+
+Change the dist tool to allow for OE-style cross-
+and cross-canadian builds:
+
+ - command flags --host-only and --target only are added;
+   if one is present, the other changes mentioned below
+   take effect, and arguments may also be specified on
+   the command line to enumerate the package(s) to be
+   built.
+
+ - for OE cross builds, go_bootstrap is always built for
+   the current build host, and is moved, along with the supporting
+   toolchain (asm, compile, etc.) to a separate 'native_native'
+   directory under GOROOT/pkg/tool.
+
+ - go_bootstrap is not automatically removed after the build,
+   so it can be reused later (e.g., building both static and
+   shared runtime).
+
+Note that for --host-only builds, it would be nice to specify
+just the "cmd" package to build only the go commands/tools,
+the staleness checks in the dist tool will fail if the "std"
+library has not also been built.  So host-only builds have to
+build everything anyway.
+
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
+
+Rework the patch to avoid identation, it breaks formatting rules but
+makes the changes more obvious and maintainable.
+Jose Quaresma <jose.quaresma@foundries.io>
+Richard Purdie <richard.purdie@linuxfoundation.org>
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/dist/build.go | 76 ++++++++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 75 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
+index 06ee4de..016b1dd 100644
+--- a/src/cmd/dist/build.go
++++ b/src/cmd/dist/build.go
+@@ -46,6 +46,7 @@ var (
+ 	goexperiment     string
+ 	workdir          string
+ 	tooldir          string
++	build_tooldir    string
+ 	oldgoos          string
+ 	oldgoarch        string
+ 	oldgocache       string
+@@ -58,6 +59,7 @@ var (
+ 	rebuildall bool
+ 	noOpt      bool
+ 	isRelease  bool
++	crossBuild bool
+ 
+ 	vflag int // verbosity
+ )
+@@ -265,6 +267,8 @@ func xinit() {
+ 
+ 	goversion := findgoversion()
+ 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
++
++	build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
+ }
+ 
+ // compilerEnv returns a map from "goos/goarch" to the
+@@ -499,8 +503,10 @@ func setup() {
+ 	goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
+ 	if rebuildall {
+ 		xremoveall(goosGoarch)
++		xremoveall(build_tooldir)
+ 	}
+ 	xmkdirall(goosGoarch)
++	xmkdirall(build_tooldir)
+ 	xatexit(func() {
+ 		if files := xreaddir(goosGoarch); len(files) == 0 {
+ 			xremove(goosGoarch)
+@@ -1338,14 +1344,20 @@ func cmdbootstrap() {
+ 	defer timelog("end", "dist bootstrap")
+ 
+ 	var debug, distpack, force, noBanner, noClean bool
++	var hostOnly bool
++	var targetOnly bool
++	var toBuild = []string{"std", "cmd"}
++
+ 	flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
+ 	flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
+ 	flag.BoolVar(&distpack, "distpack", distpack, "write distribution files to pkg/distpack")
+ 	flag.BoolVar(&force, "force", force, "build even if the port is marked as broken")
+ 	flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
+ 	flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning")
++	flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
++	flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host")
+ 
+-	xflagparse(0)
++	xflagparse(-1)
+ 
+ 	if noClean {
+ 		xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
+@@ -1357,6 +1369,18 @@ func cmdbootstrap() {
+ 			"Use the -force flag to build anyway.\n", goos, goarch)
+ 	}
+ 
++	if hostOnly && targetOnly {
++		fatalf("specify only one of --host-only or --target-only\n")
++	}
++	crossBuild = hostOnly || targetOnly
++	if flag.NArg() > 0 {
++		if crossBuild {
++			toBuild = flag.Args()
++		} else {
++			fatalf("package names not permitted without --host-only or --target-only\n")
++		}
++	}
++
+ 	// Set GOPATH to an internal directory. We shouldn't actually
+ 	// need to store files here, since the toolchain won't
+ 	// depend on modules outside of vendor directories, but if
+@@ -1434,9 +1458,14 @@ func cmdbootstrap() {
+ 		xprintf("\n")
+ 	}
+ 
++	// For split host/target cross/cross-canadian builds, we don't
++	// want to be setting these flags until after we have compiled
++	// the toolchain that runs on the build host.
++if !crossBuild {
+ 	gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now
+ 	setNoOpt()
+ 	goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
++}
+ 	goBootstrap := pathf("%s/go_bootstrap", tooldir)
+ 	if debug {
+ 		run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
+@@ -1464,7 +1493,11 @@ func cmdbootstrap() {
+ 		xprintf("\n")
+ 	}
+ 	xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
++if !crossBuild {
+ 	os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
++} else {
++		os.Setenv("CC", defaultcc[""])
++}
+ 	// Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
+ 	os.Setenv("GOEXPERIMENT", goexperiment)
+ 	// No need to enable PGO for toolchain2.
+@@ -1517,6 +1550,7 @@ func cmdbootstrap() {
+ 		os.Setenv("GOCACHE", oldgocache)
+ 	}
+ 
++if !crossBuild {
+ 	if goos == oldgoos && goarch == oldgoarch {
+ 		// Common case - not setting up for cross-compilation.
+ 		timelog("build", "toolchain")
+@@ -1560,6 +1594,42 @@ func cmdbootstrap() {
+ 		checkNotStale(toolenv(), goBootstrap, toolchain...)
+ 		copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
+ 	}
++} else {
++		gogcflags = os.Getenv("GO_GCFLAGS")
++		goldflags = os.Getenv("GO_LDFLAGS")
++		tool_files, _ := filepath.Glob(pathf("%s/*", tooldir))
++		for _, f := range tool_files {
++			copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec)
++			xremove(f)
++		}
++		os.Setenv("GOTOOLDIR", build_tooldir)
++		goBootstrap = pathf("%s/go_bootstrap", build_tooldir)
++		if hostOnly {
++			timelog("build", "host toolchain")
++			if vflag > 0 {
++				xprintf("\n")
++			}
++			xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
++			goInstall(toolenv(), goBootstrap, toBuild...)
++			checkNotStale(toolenv(), goBootstrap, toBuild...)
++			// Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
++
++			timelog("build", "target toolchain")
++			if vflag > 0 {
++				xprintf("\n")
++			}
++		} else if targetOnly {
++			goos = oldgoos
++			goarch = oldgoarch
++			os.Setenv("GOOS", goos)
++			os.Setenv("GOARCH", goarch)
++			os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
++			xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
++			goInstall(toolenv(), goBootstrap, toBuild...)
++			checkNotStale(toolenv(), goBootstrap, toBuild...)
++			// Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
++		}
++}
+ 
+ 	// Check that there are no new files in $GOROOT/bin other than
+ 	// go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling).
+@@ -1582,8 +1652,12 @@ func cmdbootstrap() {
+ 		}
+ 	}
+ 
++	// Except that for split host/target cross-builds, we need to
++	// keep it.
++if !crossBuild {
+ 	// Remove go_bootstrap now that we're done.
+ 	xremove(pathf("%s/go_bootstrap"+exe, tooldir))
++}
+ 
+ 	if goos == "android" {
+ 		// Make sure the exec wrapper will sync a fresh $GOROOT to the device.
diff --git a/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
new file mode 100644
index 0000000..4a57b07
--- /dev/null
+++ b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
@@ -0,0 +1,111 @@
+From a31db6f78d851741aea1e76132a84a24138a5bc6 Mon Sep 17 00:00:00 2001
+From: Alex Kube <alexander.j.kube@gmail.com>
+Date: Wed, 23 Oct 2019 21:18:56 +0430
+Subject: [PATCH] cmd/go: make GOROOT precious by default
+
+The go build tool normally rebuilds whatever it detects is
+stale.  This can be a problem when GOROOT is intended to
+be read-only and the go runtime has been built as a shared
+library, since we don't want every application to be rebuilding
+the shared runtime - particularly in cross-build/packaging
+setups, since that would lead to 'abi mismatch' runtime errors.
+
+This patch prevents the install and linkshared actions from
+installing to GOROOT unless overridden with the GOROOT_OVERRIDE
+environment variable.
+
+Adapted to Go 1.13 from patches originally submitted to
+the meta/recipes-devtools/go tree by
+Matt Madison <matt@madison.systems>.
+
+Upstream-Status: Inappropriate [OE specific]
+
+Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/go/internal/work/action.go |  3 +++
+ src/cmd/go/internal/work/build.go  |  6 ++++++
+ src/cmd/go/internal/work/exec.go   | 25 +++++++++++++++++++++++++
+ 3 files changed, 34 insertions(+)
+
+diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
+index a59072e..9e35ebd 100644
+--- a/src/cmd/go/internal/work/action.go
++++ b/src/cmd/go/internal/work/action.go
+@@ -754,6 +754,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
+ 			if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
+ 				continue
+ 			}
++			if goRootPrecious && (p1.Standard || p1.Goroot) {
++				continue
++			}
+ 			haveShlib[filepath.Base(p1.Shlib)] = true
+ 			// TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
+ 			// we'll end up building an overall library or executable that depends at runtime
+diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
+index 408edb5..3d60252 100644
+--- a/src/cmd/go/internal/work/build.go
++++ b/src/cmd/go/internal/work/build.go
+@@ -233,6 +233,8 @@ See also: go install, go get, go clean.
+ 
+ const concurrentGCBackendCompilationEnabledByDefault = true
+ 
++var goRootPrecious bool = true
++
+ func init() {
+ 	// break init cycle
+ 	CmdBuild.Run = runBuild
+@@ -246,6 +248,10 @@ func init() {
+ 		AddCoverFlags(CmdBuild, nil)
+ 		AddCoverFlags(CmdInstall, nil)
+ 	}
++
++	if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
++		goRootPrecious = false
++	}
+ }
+ 
+ // Note that flags consulted by other parts of the code
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index 9724cd0..544df46 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -544,6 +544,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
+ 		return err
+ 	}
+ 
++	if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
++		_, err := os.Stat(a.Package.Target)
++		if err == nil {
++			a.built = a.Package.Target
++			a.Target = a.Package.Target
++			a.buildID = b.fileHash(a.Package.Target)
++			a.Package.Stale = false
++			a.Package.StaleReason = "GOROOT-resident package"
++			return nil
++		}
++		a.Package.Stale = true
++		a.Package.StaleReason = "missing or invalid GOROOT-resident package"
++		if b.IsCmdList {
++			return nil
++		}
++	}
++
+ 	if err := sh.Mkdir(a.Objdir); err != nil {
+ 		return err
+ 	}
+@@ -1737,6 +1754,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
+ 		return err
+ 	}
+ 
++	if goRootPrecious && a.Package != nil {
++		p := a.Package
++		if p.Standard || p.Goroot {
++			err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath)
++			return err
++		}
++	}
++
+ 	if err := b.Shell(a).Mkdir(a.Objdir); err != nil {
+ 		return err
+ 	}
diff --git a/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
new file mode 100644
index 0000000..2fdd529
--- /dev/null
+++ b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
@@ -0,0 +1,59 @@
+From 1097a07b097043e15fe29a85326dbd196401244a Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Tue, 27 Feb 2024 18:06:51 +0800
+Subject: [PATCH] exec.go: filter out build-specific paths from linker flags
+
+The flags can contain build-specific paths, breaking reproducibility.
+Filter out options that have build-specific paths.
+
+Upstream-Status: Inappropriate [ Not perfect for upstream ]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/go/internal/work/exec.go | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
+index 544df46..c8f297c 100644
+--- a/src/cmd/go/internal/work/exec.go
++++ b/src/cmd/go/internal/work/exec.go
+@@ -1401,6 +1401,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
+ 	return h.Sum()
+ }
+ 
++func filterLinkerFlags(flags []string) []string {
++	var newflags []string
++	var skipflag bool
++	skipflag = false
++	for i, flag := range flags {
++		if skipflag == true {
++			skipflag = false
++			continue
++		}
++		if strings.HasPrefix(flag, "--sysroot") || strings.HasPrefix(flag, "-fmacro-prefix-map") || strings.HasPrefix(flag, "-fdebug-prefix-map") || strings.HasPrefix(flag, "-ffile-prefix-map") || strings.HasPrefix(flag, "-fcanon-prefix-map") || strings.HasPrefix(flag, "-fprofile-prefix-map") || strings.HasPrefix(flag, "-Wl,-rpath-link"){
++			continue
++		} else if strings.HasPrefix(flag, "-extldflags") {
++			skipflag = true
++			newflags = append(newflags, flag)
++			var filterd_Extldflags []string = filterLinkerFlags(strings.Split(flags[i+1], " "))
++			newflags = append(newflags, strings.Join(filterd_Extldflags, " "))
++		} else {
++			newflags = append(newflags, flag)
++		}
++	}
++	return newflags
++}
++
+ // printLinkerConfig prints the linker config into the hash h,
+ // as part of the computation of a linker-related action ID.
+ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+@@ -1411,7 +1434,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+ 	case "gc":
+ 		fmt.Fprintf(h, "link %s %q %s\n", b.toolID("link"), forcedLdflags, ldBuildmode)
+ 		if p != nil {
+-			fmt.Fprintf(h, "linkflags %q\n", p.Internal.Ldflags)
++			fmt.Fprintf(h, "linkflags %q\n", filterLinkerFlags(p.Internal.Ldflags))
+ 		}
+ 
+ 		// GOARM, GOMIPS, etc.
diff --git a/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
new file mode 100644
index 0000000..4c1f0ca
--- /dev/null
+++ b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
@@ -0,0 +1,43 @@
+From e5af6155f2d6e0758d11d6c12d6f47ea8e65b141 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Tue, 10 Nov 2020 16:33:27 +0000
+Subject: [PATCH] src/cmd/dist/buildgo.go: do not hardcode host compilers into
+ target binaries
+
+These come from $CC/$CXX on the build host and are not useful on targets;
+additionally as they contain host specific paths, this helps reproducibility.
+
+Upstream-Status: Inappropriate [needs upstream discussion]
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/dist/buildgo.go | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
+index 884e9d7..2f52eda 100644
+--- a/src/cmd/dist/buildgo.go
++++ b/src/cmd/dist/buildgo.go
+@@ -51,8 +51,8 @@ func mkzdefaultcc(dir, file string) {
+ 		fmt.Fprintf(&buf, "package cfg\n")
+ 		fmt.Fprintln(&buf)
+ 		fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig)
+-		buf.WriteString(defaultCCFunc("DefaultCC", defaultcc))
+-		buf.WriteString(defaultCCFunc("DefaultCXX", defaultcxx))
++		buf.WriteString(defaultCCFunc("DefaultCC", map[string]string{"":"gcc"}))
++		buf.WriteString(defaultCCFunc("DefaultCXX", map[string]string{"":"g++"}))
+ 		writefile(buf.String(), file, writeSkipSame)
+ 		return
+ 	}
+@@ -62,8 +62,8 @@ func mkzdefaultcc(dir, file string) {
+ 	fmt.Fprintf(&buf, "package main\n")
+ 	fmt.Fprintln(&buf)
+ 	fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig)
+-	buf.WriteString(defaultCCFunc("defaultCC", defaultcc))
+-	buf.WriteString(defaultCCFunc("defaultCXX", defaultcxx))
++	buf.WriteString(defaultCCFunc("defaultCC", map[string]string{"":"gcc"}))
++	buf.WriteString(defaultCCFunc("defaultCXX", map[string]string{"":"g++"}))
+ 	writefile(buf.String(), file, writeSkipSame)
+ }
+ 
diff --git a/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
new file mode 100644
index 0000000..d939cb4
--- /dev/null
+++ b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
@@ -0,0 +1,58 @@
+From 6bdd6405ce63c7aa4b35cd85833d03c7f1b9109a Mon Sep 17 00:00:00 2001
+From: Richard Purdie <richard.purdie@linuxfoundation.org>
+Date: Sat, 2 Jul 2022 23:08:13 +0100
+Subject: [PATCH] go: Filter build paths on staticly linked arches
+
+Filter out build time paths from ldflags and other flags variables when they're
+embedded in the go binary so that builds are reproducible regardless of build
+location. This codepath is hit for statically linked go binaries such as those
+on mips/ppc.
+
+Upstream-Status: Submitted [https://github.com/golang/go/pull/56410]
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+---
+ src/cmd/go/internal/load/pkg.go | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
+index 1549800..f41fb2c 100644
+--- a/src/cmd/go/internal/load/pkg.go
++++ b/src/cmd/go/internal/load/pkg.go
+@@ -2277,6 +2277,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
+ 	info.Settings = append(info.Settings, debug.BuildSetting{Key: key, Value: value})
+ }
+ 
++func filterCompilerFlags(flags string) string {
++	var newflags []string
++	for _, flag := range strings.Fields(flags) {
++		if strings.HasPrefix(flag, "--sysroot") || strings.HasPrefix(flag, "-fmacro-prefix-map") || strings.HasPrefix(flag, "-fdebug-prefix-map") {
++			continue
++		}
++		newflags = append(newflags, flag)
++	}
++	return strings.Join(newflags, " ")
++}
++
+ // setBuildInfo gathers build information and sets it into
+ // p.Internal.BuildInfo, which will later be formatted as a string and embedded
+ // in the binary. setBuildInfo should only be called on a main package with no
+@@ -2384,7 +2395,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+ 	if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
+ 		appendSetting("-gcflags", gcflags)
+ 	}
+-	if ldflags := BuildLdflags.String(); ldflags != "" {
++	if ldflags := filterCompilerFlags(BuildLdflags.String()); ldflags != "" {
+ 		// https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
+ 		// since it can include system paths through various linker flags (notably
+ 		// -extar, -extld, and -extldflags).
+@@ -2427,7 +2438,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+ 	// subset of flags that are known not to be paths?
+ 	if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
+ 		for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
+-			appendSetting(name, cfg.Getenv(name))
++			appendSetting(name, filterCompilerFlags(cfg.Getenv(name)))
+ 		}
+ 	}
+ 	appendSetting("GOARCH", cfg.BuildContext.GOARCH)
diff --git a/recipes-devtools/go/go_1.22.12.bb b/recipes-devtools/go/go_1.22.12.bb
new file mode 100644
index 0000000..46f5fbc
--- /dev/null
+++ b/recipes-devtools/go/go_1.22.12.bb
@@ -0,0 +1,18 @@
+require go-${PV}.inc
+require go-target.inc
+
+inherit linuxloader
+
+CGO_LDFLAGS:append = " -no-pie"
+
+export GO_LDSO = "${@get_linuxloader(d)}"
+export CC_FOR_TARGET = "gcc"
+export CXX_FOR_TARGET = "g++"
+
+# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its
+# variants.
+python() {
+    if 'mips' in d.getVar('TARGET_ARCH') or 'riscv32' in d.getVar('TARGET_ARCH'):
+        d.appendVar('INSANE_SKIP:%s' % d.getVar('PN'), " textrel")
+}
+


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 04/34] go-helloworld: update to latest revision
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (2 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 03/34] go: " Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 05/34] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX Peter Marko
                   ` (30 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Alexander Kanavin <alex.kanavin@gmail.com>

(From OE-Core rev: ed7d5a9e0ea2c970b3c101876dc3e3b8b5ae2ade)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 98cd4d8..74f3520 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
-SRCREV = "d9923f6970e9ba7e0d23aa9448ead71ea57235ae"
+SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
 UPSTREAM_CHECK_COMMITS = "1"
 
 GO_IMPORT = "golang.org/x/example"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 05/34] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (3 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 04/34] go-helloworld: update to latest revision Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 06/34] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX" Peter Marko
                   ` (29 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Richard Purdie <richard.purdie@linuxfoundation.org>

The go class has its own fork of the base unpack code. At the time I was
told this was fine, it now isn't as that code is changing.

Rather than have a fork, put the path magic into a variable and then go
recipes can just set SRC_URI appropriately, e.g.:

git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}

This avoids having special case hacks in the class and makes everything
a little more obvious.

(From OE-Core rev: cc4ec43a2b657fb4c58429ab14f1edc2473c1327)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 74f3520..575ee81 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -5,7 +5,7 @@ HOMEPAGE = "https://golang.org/"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
-SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
+SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
 SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
 UPSTREAM_CHECK_COMMITS = "1"
 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 06/34] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX"
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (4 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 05/34] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 07/34] go-helloworld: update to latest revision Peter Marko
                   ` (28 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Jose Quaresma <jose.quaresma@foundries.io>

This reverts commit f3bb48cea8c9794ff9e4d9eb13309c4651a7a226.

This drop the 'destsuffix' overriding the SRC_URI
so we make the oe-core backports easier without conflits.

Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 575ee81..4f9e60d 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -9,6 +9,9 @@ SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsu
 SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
 UPSTREAM_CHECK_COMMITS = "1"
 
+# drop the 'destsuffix' so we make the oe-core backports easier without conflits
+SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
+
 GO_IMPORT = "golang.org/x/example"
 GO_INSTALL = "${GO_IMPORT}/hello"
 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 07/34] go-helloworld: update to latest revision
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (5 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 06/34] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX" Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 08/34] " Peter Marko
                   ` (27 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Alexander Kanavin <alex@linutronix.de>

(From OE-Core rev: 62b8005e6df13fed7754d504d7aa37614d318008)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 4f9e60d..31d8a0c 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
-SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935"
+SRCREV = "39e772fc26705bb170db248e5372a81ed5ffd67f"
 UPSTREAM_CHECK_COMMITS = "1"
 
 # drop the 'destsuffix' so we make the oe-core backports easier without conflits


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 08/34] go-helloworld: update to latest revision
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (6 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 07/34] go-helloworld: update to latest revision Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 09/34] meta/meta-selftest: Fix variable assignment whitespace Peter Marko
                   ` (26 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Alexander Kanavin <alex@linutronix.de>

(From OE-Core rev: b14bd8f189d967155159161ce65ea5aac52a3322)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 31d8a0c..65a79ab 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
-SRCREV = "39e772fc26705bb170db248e5372a81ed5ffd67f"
+SRCREV = "d7b0ac1278591aea848a99258ccfdee8e4d454c1"
 UPSTREAM_CHECK_COMMITS = "1"
 
 # drop the 'destsuffix' so we make the oe-core backports easier without conflits
@@ -23,3 +23,6 @@ inherit go
 do_install:append() {
     mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
 }
+
+# /usr/lib/go/src/golang.org/x/example/ragserver/tests/weaviate-show-all.sh is requiring bash
+RDEPENDS:${PN}-dev += "bash"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 09/34] meta/meta-selftest: Fix variable assignment whitespace
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (7 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 08/34] " Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 10/34] go-helloworld: update to latest revision Peter Marko
                   ` (25 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Richard Purdie <richard.purdie@linuxfoundation.org>

Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in OE-Core to show this is definitely the preferred
formatting.

(From OE-Core rev: 30ea609d3357fb3de911f2f6a5e6856c151b976a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 65a79ab..cafcb2c 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -15,7 +15,7 @@ SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https"
 GO_IMPORT = "golang.org/x/example"
 GO_INSTALL = "${GO_IMPORT}/hello"
 
-export GO111MODULE="off"
+export GO111MODULE = "off"
 
 inherit go
 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 10/34] go-helloworld: update to latest revision
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (8 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 09/34] meta/meta-selftest: Fix variable assignment whitespace Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 11/34] go-helloworld: fix license Peter Marko
                   ` (24 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Gyorgy Sarvari <skandigraun@gmail.com>

Shortlog:
- go.mod: update golang.org/x dependencies
- weave: fix %include parsing, add highlighting
- example/slog-handler-guide: run `make`
- example/weave: update TOC anchors to remove **, _, and `
- slog-handler-guide: remove doubled word
- slog-handler-guide: warn against embedding
- slog-handler-guide: fix typo, tweak phrasing

(From OE-Core rev: cfc6da6d0226d9d2ba1d59ecb1c86358be5daab2)

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index cafcb2c..586f45b 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -6,7 +6,7 @@ LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
-SRCREV = "d7b0ac1278591aea848a99258ccfdee8e4d454c1"
+SRCREV = "8b405629c4a5215871be932097e099c05ec5cb2e"
 UPSTREAM_CHECK_COMMITS = "1"
 
 # drop the 'destsuffix' so we make the oe-core backports easier without conflits


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 11/34] go-helloworld: fix license
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (9 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 10/34] go-helloworld: update to latest revision Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 12/34] go: Fix to work without gold on aarch64 Peter Marko
                   ` (23 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

The example repo doesn't seem to have ever been under MIT.
It started with Apache-2.0, later changed to standard go license BSD-3.

The license file exists in the sources, so use that one instead of
taking it from the OE-Core license directory.

Note that this was already fixed in scarthgap and kirkstone, but the
patch was not merged into master. Also the old releases still had
Apache-2 license, so this patch is different now with new version of
the component.

License-Update: Fix license declaration.

Reported-By: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-extended/go-examples/go-helloworld_0.1.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/recipes-extended/go-examples/go-helloworld_0.1.bb b/recipes-extended/go-examples/go-helloworld_0.1.bb
index 586f45b..3ffe64b 100644
--- a/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ b/recipes-extended/go-examples/go-helloworld_0.1.bb
@@ -2,8 +2,8 @@ SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
 SECTION = "examples"
 HOMEPAGE = "https://golang.org/"
 
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://src/${GO_IMPORT}/LICENSE;md5=7998cb338f82d15c0eff93b7004d272a"
 
 SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
 SRCREV = "8b405629c4a5215871be932097e099c05ec5cb2e"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 12/34] go: Fix to work without gold on aarch64
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (10 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 11/34] go-helloworld: fix license Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 13/34] go: upgrade 1.22.12 -> 1.24.0 Peter Marko
                   ` (22 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Richard Purdie <richard.purdie@linuxfoundation.org>

If we remove gold from binutils, go-runtime fails to build. There was a
workaround in go to use gold as the bfd linker had a bug. The issue was
fixed so backport dropping the workaround fmr upstream.

(From OE-Core rev: 4636b7206b2e4247835d60956e62f5a2efea9e81)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-1.22.12.inc            |  1 +
 ...5b008e3d106b2706645e5a88cd8e2fb98953.patch | 49 +++++++++++++++++++
 2 files changed, 50 insertions(+)
 create mode 100644 recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch

diff --git a/recipes-devtools/go/go-1.22.12.inc b/recipes-devtools/go/go-1.22.12.inc
index 05aa3a9..8d14efa 100644
--- a/recipes-devtools/go/go-1.22.12.inc
+++ b/recipes-devtools/go/go-1.22.12.inc
@@ -14,5 +14,6 @@ SRC_URI += "\
     file://0007-exec.go-filter-out-build-specific-paths-from-linker-.patch \
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
+    file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
 SRC_URI[main.sha256sum] = "012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71"
diff --git a/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch b/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
new file mode 100644
index 0000000..d858cc6
--- /dev/null
+++ b/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
@@ -0,0 +1,49 @@
+From 6d265b008e3d106b2706645e5a88cd8e2fb98953 Mon Sep 17 00:00:00 2001
+From: Dirk Müller <dirk@dmllr.de>
+Date: Wed, 09 Mar 2022 17:47:23 +0100
+Subject: [PATCH] cmd/link: stop forcing binutils-gold dependency on aarch64
+
+The bfd linker appears to be working just fine at least in version
+2.41 or above. Reject the known broken one instead, which
+avoids an architecture specific linker dependency that
+is cumbersome for distributions.
+
+Fixes #22040.
+
+Change-Id: I9f377e47c22ef20497479c0978c053ed5de46a38
+
+Upstream-Status: Submitted [https://go-review.googlesource.com/c/go/+/391115]
+---
+
+diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
+index 2d8f964..fcf0bc7 100644
+--- a/src/cmd/link/internal/ld/lib.go
++++ b/src/cmd/link/internal/ld/lib.go
+@@ -1670,27 +1670,6 @@
+ 			// Use lld to avoid errors from default linker (issue #38838)
+ 			altLinker = "lld"
+ 		}
+-
+-		if ctxt.Arch.InFamily(sys.ARM64) && buildcfg.GOOS == "linux" {
+-			// On ARM64, the GNU linker will fail with
+-			// -znocopyreloc if it thinks a COPY relocation is
+-			// required. Switch to gold.
+-			// https://sourceware.org/bugzilla/show_bug.cgi?id=19962
+-			// https://go.dev/issue/22040
+-			altLinker = "gold"
+-
+-			// If gold is not installed, gcc will silently switch
+-			// back to ld.bfd. So we parse the version information
+-			// and provide a useful error if gold is missing.
+-			name, args := flagExtld[0], flagExtld[1:]
+-			args = append(args, "-fuse-ld=gold", "-Wl,--version")
+-			cmd := exec.Command(name, args...)
+-			if out, err := cmd.CombinedOutput(); err == nil {
+-				if !bytes.Contains(out, []byte("GNU gold")) {
+-					log.Fatalf("ARM64 external linker must be gold (issue #15696, 22040), but is not: %s", out)
+-				}
+-			}
+-		}
+ 	}
+ 	if ctxt.Arch.Family == sys.ARM64 && buildcfg.GOOS == "freebsd" {
+ 		// Switch to ld.bfd on freebsd/arm64.


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 13/34] go: upgrade 1.22.12 -> 1.24.0
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (11 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 12/34] go: Fix to work without gold on aarch64 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 14/34] go: fix buildpath issue for go-runtime Peter Marko
                   ` (21 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Hongxu Jia <hongxu.jia@windriver.com>

Refresh patches

See [1] for Go 1.24 Release Notes

License-Update: update per Google Legal [2]

[1] https://go.dev/doc/go1.24
[2] https://github.com/golang/go/commit/760b722c344d312ab62a5c2f94865a869ce0bab9

(From OE-Core rev: fc6625e934d9b098359103c82cdbcd0c7ce6caee)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 .../go/{go-1.22.12.inc => go-1.24.0.inc}      |  4 +-
 ..._1.22.12.bb => go-binary-native_1.24.0.bb} |  8 ++--
 ...1.22.12.bb => go-cross-canadian_1.24.0.bb} |  0
 ...go-cross_1.22.12.bb => go-cross_1.24.0.bb} |  0
 ...sssdk_1.22.12.bb => go-crosssdk_1.24.0.bb} |  0
 ...untime_1.22.12.bb => go-runtime_1.24.0.bb} |  0
 ...ent-based-hash-generation-less-pedan.patch | 39 +++++++++++--------
 ...OOLDIR-to-be-overridden-in-the-envir.patch | 16 +++++---
 ...3-ld-add-soname-to-shareable-objects.patch | 15 ++++---
 ...de-CC-when-building-dist-and-go_boot.patch | 33 +++++++++-------
 ...dist-separate-host-and-target-builds.patch | 38 ++++++++++--------
 ...d-go-make-GOROOT-precious-by-default.patch | 23 ++++++-----
 ...ut-build-specific-paths-from-linker-.patch | 14 ++++---
 ...ldgo.go-do-not-hardcode-host-compile.patch | 11 ++++--
 ...uild-paths-on-staticly-linked-arches.patch | 15 ++++---
 ...5b008e3d106b2706645e5a88cd8e2fb98953.patch |  9 ++++-
 .../go/{go_1.22.12.bb => go_1.24.0.bb}        |  0
 17 files changed, 135 insertions(+), 90 deletions(-)
 rename recipes-devtools/go/{go-1.22.12.inc => go-1.24.0.inc} (82%)
 rename recipes-devtools/go/{go-binary-native_1.22.12.bb => go-binary-native_1.24.0.bb} (73%)
 rename recipes-devtools/go/{go-cross-canadian_1.22.12.bb => go-cross-canadian_1.24.0.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.22.12.bb => go-cross_1.24.0.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.22.12.bb => go-crosssdk_1.24.0.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.22.12.bb => go-runtime_1.24.0.bb} (100%)
 rename recipes-devtools/go/{go_1.22.12.bb => go_1.24.0.bb} (100%)

diff --git a/recipes-devtools/go/go-1.22.12.inc b/recipes-devtools/go/go-1.24.0.inc
similarity index 82%
rename from recipes-devtools/go/go-1.22.12.inc
rename to recipes-devtools/go/go-1.24.0.inc
index 8d14efa..26a4947 100644
--- a/recipes-devtools/go/go-1.22.12.inc
+++ b/recipes-devtools/go/go-1.24.0.inc
@@ -2,7 +2,7 @@ require go-common.inc
 
 FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go:"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7998cb338f82d15c0eff93b7004d272a"
 
 SRC_URI += "\
     file://0001-cmd-go-make-content-based-hash-generation-less-pedan.patch \
@@ -16,4 +16,4 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "012a7e1f37f362c0918c1dfa3334458ac2da1628c4b9cf4d9ca02db986e17d71"
+SRC_URI[main.sha256sum] = "d14120614acb29d12bcab72bd689f257eb4be9e0b6f88a8fb7e41ac65f8556e5"
diff --git a/recipes-devtools/go/go-binary-native_1.22.12.bb b/recipes-devtools/go/go-binary-native_1.24.0.bb
similarity index 73%
rename from recipes-devtools/go/go-binary-native_1.22.12.bb
rename to recipes-devtools/go/go-binary-native_1.24.0.bb
index 747737f..d9eebb9 100644
--- a/recipes-devtools/go/go-binary-native_1.22.12.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.0.bb
@@ -3,15 +3,15 @@
 SUMMARY = "Go programming language compiler (upstream binary for bootstrap)"
 HOMEPAGE = " http://golang.org/"
 LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7998cb338f82d15c0eff93b7004d272a"
 
 PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "4fa4f869b0f7fc6bb1eb2660e74657fbf04cdd290b5aef905585c86051b34d43"
-SRC_URI[go_linux_arm64.sha256sum] = "fd017e647ec28525e86ae8203236e0653242722a7436929b1f775744e26278e7"
-SRC_URI[go_linux_ppc64le.sha256sum] = "9573d30003b0796717a99d9e2e96c48fddd4fc0f29d840f212c503b03d7de112"
+SRC_URI[go_linux_amd64.sha256sum] = "dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858"
+SRC_URI[go_linux_arm64.sha256sum] = "c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7"
+SRC_URI[go_linux_ppc64le.sha256sum] = "a871a43de7d26c91dd90cb6e0adacb214c9e35ee2188c617c91c08c017efe81a"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.22.12.bb b/recipes-devtools/go/go-cross-canadian_1.24.0.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.22.12.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.0.bb
diff --git a/recipes-devtools/go/go-cross_1.22.12.bb b/recipes-devtools/go/go-cross_1.24.0.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.22.12.bb
rename to recipes-devtools/go/go-cross_1.24.0.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.22.12.bb b/recipes-devtools/go/go-crosssdk_1.24.0.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.22.12.bb
rename to recipes-devtools/go/go-crosssdk_1.24.0.bb
diff --git a/recipes-devtools/go/go-runtime_1.22.12.bb b/recipes-devtools/go/go-runtime_1.24.0.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.22.12.bb
rename to recipes-devtools/go/go-runtime_1.24.0.bb
diff --git a/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
index a8e5d6e..86e941b 100644
--- a/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -1,7 +1,8 @@
-From 9b3ebef0356594a447906f00fe80584952c08289 Mon Sep 17 00:00:00 2001
+From 51c04a9a19dec5a48fa0f38324dc2480b7a859e4 Mon Sep 17 00:00:00 2001
 From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 28 Mar 2022 10:59:03 -0700
-Subject: [PATCH] cmd/go: make content-based hash generation less pedantic
+Date: Sat, 22 Feb 2025 03:24:48 -0800
+Subject: [PATCH 01/11] cmd/go: make content-based hash generation less
+ pedantic
 
 Go 1.10's build tool now uses content-based hashes to
 determine when something should be built or re-built.
@@ -26,16 +27,19 @@ Signed-off-by: Alex Kube <alexander.j.kube@gmail.com>
 Signed-off-by: Matt Madison <matt@madison.systems>
 Signed-off-by: Khem Raj <raj.khem@gmail.com>
 Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+
+Rebase to 1.23.4
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  src/cmd/go/internal/envcmd/env.go |  2 +-
  src/cmd/go/internal/work/exec.go  | 44 ++++++++++++++++++++++++-------
  2 files changed, 36 insertions(+), 10 deletions(-)
 
 diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
-index c7c2e83..4a90d9d 100644
+index 7c370d427f..c2441f7695 100644
 --- a/src/cmd/go/internal/envcmd/env.go
 +++ b/src/cmd/go/internal/envcmd/env.go
-@@ -189,7 +189,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
+@@ -219,7 +219,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
  		}
  	}()
  
@@ -45,10 +49,10 @@ index c7c2e83..4a90d9d 100644
  		// Should not happen - b.CFlags was given an empty package.
  		fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index e05471b..9724cd0 100644
+index 7b073165d5..1f618be0bb 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -232,6 +232,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
+@@ -237,6 +237,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
  	writeActionGraph()
  }
  
@@ -57,7 +61,7 @@ index e05471b..9724cd0 100644
  // buildActionID computes the action ID for a build action.
  func (b *Builder) buildActionID(a *Action) cache.ActionID {
  	p := a.Package
-@@ -253,7 +255,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -258,7 +260,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  		if p.Module != nil {
  			fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
  		}
@@ -66,7 +70,7 @@ index e05471b..9724cd0 100644
  		// The Go compiler always hides the exact value of $GOROOT
  		// when building things in GOROOT.
  		//
-@@ -285,9 +287,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -293,9 +295,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  	}
  	if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 {
  		fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
@@ -78,7 +82,7 @@ index e05471b..9724cd0 100644
  		fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
  		// Include the C compiler tool ID so that if the C
  		// compiler changes we rebuild the package.
-@@ -295,14 +297,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -303,14 +305,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  			fmt.Fprintf(h, "CC ID=%q\n", ccID)
  		}
  		if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
@@ -95,7 +99,7 @@ index e05471b..9724cd0 100644
  			fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
  			if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil {
  				fmt.Fprintf(h, "FC ID=%q\n", fcID)
-@@ -319,7 +321,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -327,7 +329,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  		}
  	}
  	if p.Internal.BuildInfo != nil {
@@ -104,7 +108,7 @@ index e05471b..9724cd0 100644
  	}
  
  	// Configuration specific to compiler toolchain.
-@@ -2679,8 +2681,25 @@ func envList(key, def string) []string {
+@@ -2659,8 +2661,25 @@ func envList(key, def string) []string {
  	return args
  }
  
@@ -131,8 +135,8 @@ index e05471b..9724cd0 100644
  	if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
  		return
  	}
-@@ -2696,6 +2715,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
- 	if ldflags, err = buildFlags("LDFLAGS", defaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
+@@ -2676,6 +2695,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+ 	if ldflags, err = buildFlags("LDFLAGS", DefaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
  		return
  	}
 +	if filtered {
@@ -145,7 +149,7 @@ index e05471b..9724cd0 100644
  
  	return
  }
-@@ -2713,7 +2739,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
+@@ -2693,7 +2719,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
  	p := a.Package
  	sh := b.Shell(a)
  
@@ -154,7 +158,7 @@ index e05471b..9724cd0 100644
  	if err != nil {
  		return nil, nil, err
  	}
-@@ -3268,7 +3294,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
+@@ -3256,7 +3282,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
  	p := a.Package
  	sh := b.Shell(a)
  
@@ -163,3 +167,6 @@ index e05471b..9724cd0 100644
  	if err != nil {
  		return "", "", err
  	}
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
index a69ada4..7e86d8c 100644
--- a/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
@@ -1,7 +1,8 @@
-From 687ff9d17f756145f9a58413070cccbd488d1ea2 Mon Sep 17 00:00:00 2001
+From fdad9a0ea659cf2281a0df16b0f69f179605ec9a Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:15:37 +0430
-Subject: [PATCH] cmd/go: Allow GOTOOLDIR to be overridden in the environment
+Subject: [PATCH 02/11] cmd/go: Allow GOTOOLDIR to be overridden in the
+ environment
 
 to allow for split host/target build roots
 
@@ -19,10 +20,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  2 files changed, 8 insertions(+), 2 deletions(-)
 
 diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 32e59b4..06ee4de 100644
+index 1f467647f5..b62e518030 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -259,7 +259,9 @@ func xinit() {
+@@ -280,7 +280,9 @@ func xinit() {
  	}
  	xatexit(rmworkdir)
  
@@ -34,10 +35,10 @@ index 32e59b4..06ee4de 100644
  	goversion := findgoversion()
  	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
 diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
-index a8daa2d..393ada3 100644
+index 3b9f27e91d..ec043c1530 100644
 --- a/src/cmd/go/internal/cfg/cfg.go
 +++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -230,7 +230,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
+@@ -248,7 +248,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
  			// This matches the initialization of ToolDir in go/build, except for
  			// using ctxt.GOROOT and the installed GOOS and GOARCH rather than the
  			// GOROOT, GOOS, and GOARCH reported by the runtime package.
@@ -50,3 +51,6 @@ index a8daa2d..393ada3 100644
  		}
  	}
  }
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
index abc5faa..86a4bb1 100644
--- a/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
+++ b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
@@ -1,7 +1,7 @@
-From 01fe178b292db12d811811ff2d8d56b225e4b5e8 Mon Sep 17 00:00:00 2001
+From 1546d837c69b654754ee137af1fa1c2f7500cfa2 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:16:32 +0430
-Subject: [PATCH] ld: add soname to shareable objects
+Subject: [PATCH 03/11] ld: add soname to shareable objects
 
 so that OE's shared library dependency handling
 can find them.
@@ -19,10 +19,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  1 file changed, 3 insertions(+)
 
 diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index eab74dc..ae9bbc9 100644
+index 2d8f964f35..dfc72e02c0 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1576,6 +1576,7 @@ func (ctxt *Link) hostlink() {
+@@ -1624,6 +1624,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
@@ -30,7 +30,7 @@ index eab74dc..ae9bbc9 100644
  			if ctxt.HeadType == objabi.Hwindows {
  				argv = addASLRargs(argv, *flagAslr)
  			} else {
-@@ -1591,6 +1592,7 @@ func (ctxt *Link) hostlink() {
+@@ -1639,6 +1640,7 @@ func (ctxt *Link) hostlink() {
  			argv = append(argv, "-Wl,-z,relro")
  		}
  		argv = append(argv, "-shared")
@@ -38,7 +38,7 @@ index eab74dc..ae9bbc9 100644
  	case BuildModePlugin:
  		if ctxt.HeadType == objabi.Hdarwin {
  			argv = append(argv, "-dynamiclib")
-@@ -1599,6 +1601,7 @@ func (ctxt *Link) hostlink() {
+@@ -1647,6 +1649,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
@@ -46,3 +46,6 @@ index eab74dc..ae9bbc9 100644
  		}
  	}
  
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch b/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
index 9df43c4..abbb7bd 100644
--- a/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ b/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -1,7 +1,8 @@
-From e47d157631d1b97403f253c63d361b7380b32c22 Mon Sep 17 00:00:00 2001
+From b41aaa851f0074682fcd4bf07c891fbdf0fdf70c Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
-Date: Wed, 23 Oct 2019 21:17:16 +0430
-Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap
+Date: Sat, 22 Feb 2025 03:14:37 -0800
+Subject: [PATCH 04/11] make.bash: override CC when building dist and
+ go_bootstrap
 
 for handling OE cross-canadian builds.
 
@@ -13,24 +14,27 @@ Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
 Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+
+Rebase to 1.23.4
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  src/make.bash | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/src/make.bash b/src/make.bash
-index 76ad516..074e129 100755
+index b67ae1529f..b59cdabd09 100755
 --- a/src/make.bash
 +++ b/src/make.bash
-@@ -198,7 +198,7 @@ if [[ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]]; then
- 	exit 1
- fi
- rm -f cmd/dist/dist
--GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
-+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
+@@ -153,7 +153,7 @@ fi
+ export GOROOT_BOOTSTRAP
  
- # -e doesn't propagate out of eval, so check success by hand.
- eval $(./cmd/dist/dist env -p || echo FAIL=true)
-@@ -223,7 +223,7 @@ fi
+ bootstrapenv() {
+-	GOROOT="$GOROOT_BOOTSTRAP" GO111MODULE=off GOENV=off GOOS= GOARCH= GOEXPERIMENT= GOFLAGS= "$@"
++	CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GO111MODULE=off GOENV=off GOOS= GOARCH= GOEXPERIMENT= GOFLAGS= "$@"
+ }
+ 
+ export GOROOT="$(cd .. && pwd)"
+@@ -216,7 +216,7 @@ fi
  # Run dist bootstrap to complete make.bash.
  # Bootstrap installs a proper cmd/dist, built with the new toolchain.
  # Throw ours, built with the bootstrap toolchain, away after bootstrap.
@@ -39,3 +43,6 @@ index 76ad516..074e129 100755
  rm -f ./cmd/dist/dist
  
  # DO NOT ADD ANY NEW CODE HERE.
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
index bc25d08..f7c3108 100644
--- a/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
+++ b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
@@ -1,7 +1,7 @@
-From bae1cec790ff17c4c93a2f8fda27036e5e021f6d Mon Sep 17 00:00:00 2001
+From 12bf824f8b7e85f05434aa00e866e883a551aaeb Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
-Date: Wed, 23 Oct 2019 21:18:12 +0430
-Subject: [PATCH] cmd/dist: separate host and target builds
+Date: Fri, 28 Feb 2025 19:09:17 -0800
+Subject: [PATCH 05/11] cmd/dist: separate host and target builds
 
 Change the dist tool to allow for OE-style cross-
 and cross-canadian builds:
@@ -40,23 +40,26 @@ Upstream-Status: Inappropriate [OE specific]
 
 Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
 Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
+
+Rebase to 1.24.0
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 ---
  src/cmd/dist/build.go | 76 ++++++++++++++++++++++++++++++++++++++++++-
  1 file changed, 75 insertions(+), 1 deletion(-)
 
 diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
-index 06ee4de..016b1dd 100644
+index b62e518030..0c54d82300 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -46,6 +46,7 @@ var (
- 	goexperiment     string
+@@ -49,6 +49,7 @@ var (
+ 	gofips140        string
  	workdir          string
  	tooldir          string
 +	build_tooldir    string
  	oldgoos          string
  	oldgoarch        string
  	oldgocache       string
-@@ -58,6 +59,7 @@ var (
+@@ -61,6 +62,7 @@ var (
  	rebuildall bool
  	noOpt      bool
  	isRelease  bool
@@ -64,7 +67,7 @@ index 06ee4de..016b1dd 100644
  
  	vflag int // verbosity
  )
-@@ -265,6 +267,8 @@ func xinit() {
+@@ -286,6 +288,8 @@ func xinit() {
  
  	goversion := findgoversion()
  	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
@@ -73,7 +76,7 @@ index 06ee4de..016b1dd 100644
  }
  
  // compilerEnv returns a map from "goos/goarch" to the
-@@ -499,8 +503,10 @@ func setup() {
+@@ -547,8 +551,10 @@ func setup() {
  	goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
  	if rebuildall {
  		xremoveall(goosGoarch)
@@ -84,7 +87,7 @@ index 06ee4de..016b1dd 100644
  	xatexit(func() {
  		if files := xreaddir(goosGoarch); len(files) == 0 {
  			xremove(goosGoarch)
-@@ -1338,14 +1344,20 @@ func cmdbootstrap() {
+@@ -1411,14 +1417,20 @@ func cmdbootstrap() {
  	defer timelog("end", "dist bootstrap")
  
  	var debug, distpack, force, noBanner, noClean bool
@@ -106,7 +109,7 @@ index 06ee4de..016b1dd 100644
  
  	if noClean {
  		xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
-@@ -1357,6 +1369,18 @@ func cmdbootstrap() {
+@@ -1430,6 +1442,18 @@ func cmdbootstrap() {
  			"Use the -force flag to build anyway.\n", goos, goarch)
  	}
  
@@ -125,7 +128,7 @@ index 06ee4de..016b1dd 100644
  	// Set GOPATH to an internal directory. We shouldn't actually
  	// need to store files here, since the toolchain won't
  	// depend on modules outside of vendor directories, but if
-@@ -1434,9 +1458,14 @@ func cmdbootstrap() {
+@@ -1513,9 +1537,14 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  
@@ -140,7 +143,7 @@ index 06ee4de..016b1dd 100644
  	goBootstrap := pathf("%s/go_bootstrap", tooldir)
  	if debug {
  		run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-@@ -1464,7 +1493,11 @@ func cmdbootstrap() {
+@@ -1543,7 +1572,11 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  	xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
@@ -152,7 +155,7 @@ index 06ee4de..016b1dd 100644
  	// Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
  	os.Setenv("GOEXPERIMENT", goexperiment)
  	// No need to enable PGO for toolchain2.
-@@ -1517,6 +1550,7 @@ func cmdbootstrap() {
+@@ -1596,6 +1629,7 @@ func cmdbootstrap() {
  		os.Setenv("GOCACHE", oldgocache)
  	}
  
@@ -160,7 +163,7 @@ index 06ee4de..016b1dd 100644
  	if goos == oldgoos && goarch == oldgoarch {
  		// Common case - not setting up for cross-compilation.
  		timelog("build", "toolchain")
-@@ -1560,6 +1594,42 @@ func cmdbootstrap() {
+@@ -1639,6 +1673,42 @@ func cmdbootstrap() {
  		checkNotStale(toolenv(), goBootstrap, toolchain...)
  		copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
  	}
@@ -203,7 +206,7 @@ index 06ee4de..016b1dd 100644
  
  	// Check that there are no new files in $GOROOT/bin other than
  	// go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling).
-@@ -1582,8 +1652,12 @@ func cmdbootstrap() {
+@@ -1661,8 +1731,12 @@ func cmdbootstrap() {
  		}
  	}
  
@@ -216,3 +219,6 @@ index 06ee4de..016b1dd 100644
  
  	if goos == "android" {
  		// Make sure the exec wrapper will sync a fresh $GOROOT to the device.
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
index 4a57b07..b29da33 100644
--- a/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
@@ -1,7 +1,7 @@
-From a31db6f78d851741aea1e76132a84a24138a5bc6 Mon Sep 17 00:00:00 2001
+From ba3caa9f969bac2b937f8f1ffed4a3679cd16ec7 Mon Sep 17 00:00:00 2001
 From: Alex Kube <alexander.j.kube@gmail.com>
 Date: Wed, 23 Oct 2019 21:18:56 +0430
-Subject: [PATCH] cmd/go: make GOROOT precious by default
+Subject: [PATCH 06/11] cmd/go: make GOROOT precious by default
 
 The go build tool normally rebuilds whatever it detects is
 stale.  This can be a problem when GOROOT is intended to
@@ -29,10 +29,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  3 files changed, 34 insertions(+)
 
 diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
-index a59072e..9e35ebd 100644
+index 44bb9f8c1e..87ac4e30e5 100644
 --- a/src/cmd/go/internal/work/action.go
 +++ b/src/cmd/go/internal/work/action.go
-@@ -754,6 +754,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
+@@ -837,6 +837,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
  			if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
  				continue
  			}
@@ -43,10 +43,10 @@ index a59072e..9e35ebd 100644
  			// TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
  			// we'll end up building an overall library or executable that depends at runtime
 diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
-index 408edb5..3d60252 100644
+index 3508d51fbb..77f5e7241a 100644
 --- a/src/cmd/go/internal/work/build.go
 +++ b/src/cmd/go/internal/work/build.go
-@@ -233,6 +233,8 @@ See also: go install, go get, go clean.
+@@ -238,6 +238,8 @@ See also: go install, go get, go clean.
  
  const concurrentGCBackendCompilationEnabledByDefault = true
  
@@ -55,7 +55,7 @@ index 408edb5..3d60252 100644
  func init() {
  	// break init cycle
  	CmdBuild.Run = runBuild
-@@ -246,6 +248,10 @@ func init() {
+@@ -251,6 +253,10 @@ func init() {
  		AddCoverFlags(CmdBuild, nil)
  		AddCoverFlags(CmdInstall, nil)
  	}
@@ -67,10 +67,10 @@ index 408edb5..3d60252 100644
  
  // Note that flags consulted by other parts of the code
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 9724cd0..544df46 100644
+index 1f618be0bb..651fa64582 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -544,6 +544,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
+@@ -552,6 +552,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
  		return err
  	}
  
@@ -94,7 +94,7 @@ index 9724cd0..544df46 100644
  	if err := sh.Mkdir(a.Objdir); err != nil {
  		return err
  	}
-@@ -1737,6 +1754,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
+@@ -1747,6 +1764,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
  		return err
  	}
  
@@ -109,3 +109,6 @@ index 9724cd0..544df46 100644
  	if err := b.Shell(a).Mkdir(a.Objdir); err != nil {
  		return err
  	}
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
index 2fdd529..9a701c7 100644
--- a/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
+++ b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
@@ -1,7 +1,8 @@
-From 1097a07b097043e15fe29a85326dbd196401244a Mon Sep 17 00:00:00 2001
+From 2197f813c9cff65eedef44473872ec5ea9ced227 Mon Sep 17 00:00:00 2001
 From: Changqing Li <changqing.li@windriver.com>
 Date: Tue, 27 Feb 2024 18:06:51 +0800
-Subject: [PATCH] exec.go: filter out build-specific paths from linker flags
+Subject: [PATCH 07/11] exec.go: filter out build-specific paths from linker
+ flags
 
 The flags can contain build-specific paths, breaking reproducibility.
 Filter out options that have build-specific paths.
@@ -15,10 +16,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  1 file changed, 24 insertions(+), 1 deletion(-)
 
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
-index 544df46..c8f297c 100644
+index 651fa64582..586079afb4 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -1401,6 +1401,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
+@@ -1426,6 +1426,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
  	return h.Sum()
  }
  
@@ -48,7 +49,7 @@ index 544df46..c8f297c 100644
  // printLinkerConfig prints the linker config into the hash h,
  // as part of the computation of a linker-related action ID.
  func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
-@@ -1411,7 +1434,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+@@ -1436,7 +1459,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
  	case "gc":
  		fmt.Fprintf(h, "link %s %q %s\n", b.toolID("link"), forcedLdflags, ldBuildmode)
  		if p != nil {
@@ -57,3 +58,6 @@ index 544df46..c8f297c 100644
  		}
  
  		// GOARM, GOMIPS, etc.
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
index 4c1f0ca..a9cb2a4 100644
--- a/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
+++ b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
@@ -1,8 +1,8 @@
-From e5af6155f2d6e0758d11d6c12d6f47ea8e65b141 Mon Sep 17 00:00:00 2001
+From e5752b239707df8ad7a72dc60420e01c5912d606 Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin <alex.kanavin@gmail.com>
 Date: Tue, 10 Nov 2020 16:33:27 +0000
-Subject: [PATCH] src/cmd/dist/buildgo.go: do not hardcode host compilers into
- target binaries
+Subject: [PATCH 08/11] src/cmd/dist/buildgo.go: do not hardcode host compilers
+ into target binaries
 
 These come from $CC/$CXX on the build host and are not useful on targets;
 additionally as they contain host specific paths, this helps reproducibility.
@@ -16,7 +16,7 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  1 file changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
-index 884e9d7..2f52eda 100644
+index 884e9d729a..2f52edacfe 100644
 --- a/src/cmd/dist/buildgo.go
 +++ b/src/cmd/dist/buildgo.go
 @@ -51,8 +51,8 @@ func mkzdefaultcc(dir, file string) {
@@ -41,3 +41,6 @@ index 884e9d7..2f52eda 100644
  	writefile(buf.String(), file, writeSkipSame)
  }
  
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
index d939cb4..d47c4b1 100644
--- a/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
+++ b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
@@ -1,7 +1,7 @@
-From 6bdd6405ce63c7aa4b35cd85833d03c7f1b9109a Mon Sep 17 00:00:00 2001
+From 79a1c80ed43f2a541bcab665656a4e2bb87baab3 Mon Sep 17 00:00:00 2001
 From: Richard Purdie <richard.purdie@linuxfoundation.org>
 Date: Sat, 2 Jul 2022 23:08:13 +0100
-Subject: [PATCH] go: Filter build paths on staticly linked arches
+Subject: [PATCH 09/11] go: Filter build paths on staticly linked arches
 
 Filter out build time paths from ldflags and other flags variables when they're
 embedded in the go binary so that builds are reproducible regardless of build
@@ -17,10 +17,10 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
  1 file changed, 13 insertions(+), 2 deletions(-)
 
 diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
-index 1549800..f41fb2c 100644
+index 15f6b2e87b..47c5b865a1 100644
 --- a/src/cmd/go/internal/load/pkg.go
 +++ b/src/cmd/go/internal/load/pkg.go
-@@ -2277,6 +2277,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
+@@ -2291,6 +2291,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
  	info.Settings = append(info.Settings, debug.BuildSetting{Key: key, Value: value})
  }
  
@@ -38,7 +38,7 @@ index 1549800..f41fb2c 100644
  // setBuildInfo gathers build information and sets it into
  // p.Internal.BuildInfo, which will later be formatted as a string and embedded
  // in the binary. setBuildInfo should only be called on a main package with no
-@@ -2384,7 +2395,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+@@ -2398,7 +2409,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
  		appendSetting("-gcflags", gcflags)
  	}
@@ -47,7 +47,7 @@ index 1549800..f41fb2c 100644
  		// https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
  		// since it can include system paths through various linker flags (notably
  		// -extar, -extld, and -extldflags).
-@@ -2427,7 +2438,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+@@ -2444,7 +2455,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	// subset of flags that are known not to be paths?
  	if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
  		for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
@@ -56,3 +56,6 @@ index 1549800..f41fb2c 100644
  		}
  	}
  	appendSetting("GOARCH", cfg.BuildContext.GOARCH)
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch b/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
index d858cc6..58bd00f 100644
--- a/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
+++ b/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
@@ -14,12 +14,14 @@ Change-Id: I9f377e47c22ef20497479c0978c053ed5de46a38
 
 Upstream-Status: Submitted [https://go-review.googlesource.com/c/go/+/391115]
 ---
+ src/cmd/link/internal/ld/lib.go | 21 ---------------------
+ 1 file changed, 21 deletions(-)
 
 diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
-index 2d8f964..fcf0bc7 100644
+index dfc72e02c0..2a2a304113 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1670,27 +1670,6 @@
+@@ -1673,27 +1673,6 @@ func (ctxt *Link) hostlink() {
  			// Use lld to avoid errors from default linker (issue #38838)
  			altLinker = "lld"
  		}
@@ -47,3 +49,6 @@ index 2d8f964..fcf0bc7 100644
  	}
  	if ctxt.Arch.Family == sys.ARM64 && buildcfg.GOOS == "freebsd" {
  		// Switch to ld.bfd on freebsd/arm64.
+-- 
+2.25.1
+
diff --git a/recipes-devtools/go/go_1.22.12.bb b/recipes-devtools/go/go_1.24.0.bb
similarity index 100%
rename from recipes-devtools/go/go_1.22.12.bb
rename to recipes-devtools/go/go_1.24.0.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 14/34] go: fix buildpath issue for go-runtime
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (12 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 13/34] go: upgrade 1.22.12 -> 1.24.0 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 15/34] go: remove support for GOROOT_FINAL Peter Marko
                   ` (20 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Hongxu Jia <hongxu.jia@windriver.com>

In upstream commit [cmd: remove support for GOROOT_FINAL][1], it clear
GOROOT for func ld when -trimpath is used

But it missed to do the same thing for share libarary linking which caused
building go-runtime failed with buildpath issue

|ERROR: go-runtime-1.23.4-r0 do_package_qa: QA Issue: File /usr/lib/go/pkg/
linux_amd64_dynlink/libstd.so in package go-runtime contains reference to
TMPDIR [buildpaths]

This commit applied a patch to clear GOROOT for func ldShared when
-trimpath is used and add option -trimpath to go-runtime build

[1] https://github.com/golang/go/commit/507d1b22f4b58ac68841582d0c2c0ab6b20e5a98
[2] https://github.com/golang/go/commit/507d1b22f4b58ac68841582d0c2c0ab6b20e5a98#diff-cab5921f94f2667bb0bc1b935d2d46b4c03541b4351b33438ab7290b94dea212R669

(From OE-Core rev: f7b05ebfdc6504a8360741f273163ef7fbb11b10)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-1.24.0.inc             |  1 +
 recipes-devtools/go/go-runtime.inc            |  2 +-
 ...OOT-for-func-ldShared-when-trimpath-.patch | 51 +++++++++++++++++++
 3 files changed, 53 insertions(+), 1 deletion(-)
 create mode 100644 recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch

diff --git a/recipes-devtools/go/go-1.24.0.inc b/recipes-devtools/go/go-1.24.0.inc
index 26a4947..a52dd19 100644
--- a/recipes-devtools/go/go-1.24.0.inc
+++ b/recipes-devtools/go/go-1.24.0.inc
@@ -14,6 +14,7 @@ SRC_URI += "\
     file://0007-exec.go-filter-out-build-specific-paths-from-linker-.patch \
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
+    file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
 SRC_URI[main.sha256sum] = "d14120614acb29d12bcab72bd689f257eb4be9e0b6f88a8fb7e41ac65f8556e5"
diff --git a/recipes-devtools/go/go-runtime.inc b/recipes-devtools/go/go-runtime.inc
index 413cf6d..e5f1733 100644
--- a/recipes-devtools/go/go-runtime.inc
+++ b/recipes-devtools/go/go-runtime.inc
@@ -34,7 +34,7 @@ do_compile() {
 	if [ -n "${GO_DYNLINK}" ]; then
 		export GOTOOLDIR="${B}/pkg/tool/native_native"
 		CC="$CC_FOR_${TARGET_GOTUPLE}" GOARCH="${TARGET_GOARCH}" GOOS="${TARGET_GOOS}" GOROOT=${B} \
-			$GOTOOLDIR/go_bootstrap install -linkshared -buildmode=shared ${GO_SHLIB_LDFLAGS} std
+			$GOTOOLDIR/go_bootstrap install -linkshared -trimpath -buildmode=shared ${GO_SHLIB_LDFLAGS} std
 	fi
 	cd ${B}
 }
diff --git a/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch b/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch
new file mode 100644
index 0000000..2c2f0cb
--- /dev/null
+++ b/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch
@@ -0,0 +1,51 @@
+From c4215b5ca69a7626d97cf9b7ebc460c2b5b9148b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 28 Feb 2025 19:13:18 -0800
+Subject: [PATCH 10/11] cmd/go: clear GOROOT for func ldShared when -trimpath
+ is used
+
+In commit [cmd: remove support for GOROOT_FINAL][1], it clear GOROOT
+for func ld when -trimpath is used. [2]
+
+This commit do the same thing for func ldShared, otherwise run go_bootstrap
+with -trimpath does not remove build path directory from the generated share
+libarary
+
+  $ ./make.bash --target-only --no-banner std
+  $ go_bootstrap install -linkshared -buildmode=shared -trimpath std
+  $ grep "$(pwd)" ./pkg/linux_amd64_dynlink/libstd.so
+  Binary file ./pkg/linux_amd64_dynlink/libstd.so matches
+
+[1] https://github.com/golang/go/commit/507d1b22f4b58ac68841582d0c2c0ab6b20e5a98
+[2] https://github.com/golang/go/commit/507d1b22f4b58ac68841582d0c2c0ab6b20e5a98#diff-cab5921f94f2667bb0bc1b935d2d46b4c03541b4351b33438ab7290b94dea212R669
+
+Upstream-Status: Submitted [https://go-review.googlesource.com/c/go/+/653895]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ src/cmd/go/internal/work/gc.go | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmd/go/internal/work/gc.go b/src/cmd/go/internal/work/gc.go
+index 3a173efee8..8b7a44e031 100644
+--- a/src/cmd/go/internal/work/gc.go
++++ b/src/cmd/go/internal/work/gc.go
+@@ -728,7 +728,14 @@ func (gcToolchain) ldShared(b *Builder, root *Action, toplevelactions []*Action,
+ 	// the output file path is recorded in the .gnu.version_d section.
+ 	dir, targetPath := filepath.Split(targetPath)
+ 
+-	return b.Shell(root).run(dir, targetPath, nil, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
++	env := []string{}
++	// When -trimpath is used, GOROOT is cleared
++	if cfg.BuildTrimpath {
++		env = append(env, "GOROOT=")
++	} else {
++		env = append(env, "GOROOT="+cfg.GOROOT)
++	}
++	return b.Shell(root).run(dir, targetPath, env, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
+ }
+ 
+ func (gcToolchain) cc(b *Builder, a *Action, ofile, cfile string) error {
+-- 
+2.25.1
+


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 15/34] go: remove support for GOROOT_FINAL
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (13 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 14/34] go: fix buildpath issue for go-runtime Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 16/34] tcmode-default: bump GOVERSION to 1.24.0 Peter Marko
                   ` (19 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Hongxu Jia <hongxu.jia@windriver.com>

After upstream go applied commit [cmd: remove support for
GOROOT_FINAL][1], GOROOT_FINAL variable is dropped and use
option -trimpath to instead [2]

The option -trimpath has already been added to GOBUILDFLAGS
in go.bbclass

[1] https://github.com/golang/go/commit/507d1b22f4b58ac68841582d0c2c0ab6b20e5a98
[2] https://github.com/golang/go/issues/62047

(From OE-Core rev: 791ab77ac05f658ecd61525a3d9b1afaf8ac6e06)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-common.inc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/recipes-devtools/go/go-common.inc b/recipes-devtools/go/go-common.inc
index db16579..ca8469d 100644
--- a/recipes-devtools/go/go-common.inc
+++ b/recipes-devtools/go/go-common.inc
@@ -38,7 +38,6 @@ export GOARCH ?= "${TARGET_GOARCH}"
 export GOARM ?= "${TARGET_GOARM}"
 export GO386 ?= "${TARGET_GO386}"
 export GOMIPS ?= "${TARGET_GOMIPS}"
-export GOROOT_FINAL ?= "${libdir}/go"
 
 export GODEBUG = "gocachehash=1"
 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 16/34] tcmode-default: bump GOVERSION to 1.24.0
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (14 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 15/34] go: remove support for GOROOT_FINAL Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 17/34] go: upgrade 1.24.0 -> 1.24.1 Peter Marko
                   ` (18 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Hongxu Jia <hongxu.jia@windriver.com>

Due to we have upgraded go to 1.24.0, we should also bump GOVERSION
to fix preferred version warning
...
WARNING: preferred version 1.22% of go not available (for item go)
WARNING: versions of go available: 1.24.0
...

(From OE-Core rev: 939449cfcb4a920132145d2ad1212bac3acb1baa)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 conf/layer.conf | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/conf/layer.conf b/conf/layer.conf
index 41bc938..f6f17a7 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -13,3 +13,5 @@ LAYERSERIES_COMPAT_lts-go-mixin = "scarthgap"
 LAYERDEPENDS_lts-go-mixin = " \
     core \
 "
+
+GOVERSION = "1.24%"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 17/34] go: upgrade 1.24.0 -> 1.24.1
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (15 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 16/34] tcmode-default: bump GOVERSION to 1.24.0 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 18/34] go: upgrade 1.24.1 -> 1.24.2 Peter Marko
                   ` (17 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.0..go1.24.1
339c903a75 (tag: go1.24.1) [release-branch.go1.24] go1.24.1
334de7982f [release-branch.go1.24] all: updated vendored x/net with security fix
5d6920842b [release-branch.go1.24] runtime/cgo: avoid errors from -Wdeclaration-after-statement
949eae84df [release-branch.go1.24] cmd/compile: don't pull constant offsets out of pointer arithmetic
0bfde51e0d [release-branch.go1.24] runtime: document that cleanups can run concurrently with each other
45a52718e3 [release-branch.go1.24] runtime/cgo: avoid errors from -Wdeclaration-after-statement
7f375e2c22 [release-branch.go1.24] reflect: let Value.Seq return the iteration value correct type
4070531920 [release-branch.go1.24] syscall: disable O_DIRECTORY on Windows for js/wasm
5ffdb9c88b [release-branch.go1.24] reflect: correctly handle method values in Seq
becc17ebcd [release-branch.go1.24] runtime: use WCLONE when waiting on pidfd test child
d418e224ae [release-branch.go1.24] syscall: don't send child signal when testing pidfd
456eaf5c29 [release-branch.go1.24] cmd/compile: don't report newLimit discovered when unsat happens multiple times
e4ef83383e [release-branch.go1.24] debug/buildinfo: base64-encode test binaries
4e6d3468cc [release-branch.go1.24] cmd/compile: ensure we don't reuse temporary register
f5c388313f [release-branch.go1.24] internal/godebugs: add fips140 as an opaque godebug setting
af236716b2 [release-branch.go1.24] cmd/compile, runtime: use deferreturn as target PC for recover from deferrangefunc
0f7b7600fb [release-branch.go1.24] doc/godebug: mention GODEBUG=fips140
eb58df7dbf [release-branch.go1.24] cmd/compile: avoid infinite recursion when inlining closures
30f4d9e117 [release-branch.go1.24] syscall: don't truncate newly created files on Windows
bb0e5c2045 [release-branch.go1.24] runtime: fix usleep on s390x/linux
cd0e528d3d [release-branch.go1.24] runtime: add some linknames back for `github.com/bytedance/sonic`
80e2e474b8 [release-branch.go1.24] cmd/go: initialize req.Header when loading git credential

Fixes CVE-2025-22870

[1] https://github.com/golang/go/compare/go1.24.0...go1.24.1

(From OE-Core rev: 55325a3cbc8ade35e811b95b6f4b7a5c2787800d)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.0.inc => go-1.24.1.inc}        | 2 +-
 ...o-binary-native_1.24.0.bb => go-binary-native_1.24.1.bb} | 6 +++---
 ...cross-canadian_1.24.0.bb => go-cross-canadian_1.24.1.bb} | 0
 .../go/{go-cross_1.24.0.bb => go-cross_1.24.1.bb}           | 0
 .../go/{go-crosssdk_1.24.0.bb => go-crosssdk_1.24.1.bb}     | 0
 .../go/{go-runtime_1.24.0.bb => go-runtime_1.24.1.bb}       | 0
 recipes-devtools/go/{go_1.24.0.bb => go_1.24.1.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.0.inc => go-1.24.1.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.0.bb => go-binary-native_1.24.1.bb} (78%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.0.bb => go-cross-canadian_1.24.1.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.0.bb => go-cross_1.24.1.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.0.bb => go-crosssdk_1.24.1.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.0.bb => go-runtime_1.24.1.bb} (100%)
 rename recipes-devtools/go/{go_1.24.0.bb => go_1.24.1.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.0.inc b/recipes-devtools/go/go-1.24.1.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.0.inc
rename to recipes-devtools/go/go-1.24.1.inc
index a52dd19..4cf66e7 100644
--- a/recipes-devtools/go/go-1.24.0.inc
+++ b/recipes-devtools/go/go-1.24.1.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "d14120614acb29d12bcab72bd689f257eb4be9e0b6f88a8fb7e41ac65f8556e5"
+SRC_URI[main.sha256sum] = "8244ebf46c65607db10222b5806aeb31c1fcf8979c1b6b12f60c677e9a3c0656"
diff --git a/recipes-devtools/go/go-binary-native_1.24.0.bb b/recipes-devtools/go/go-binary-native_1.24.1.bb
similarity index 78%
rename from recipes-devtools/go/go-binary-native_1.24.0.bb
rename to recipes-devtools/go/go-binary-native_1.24.1.bb
index d9eebb9..ffe3d50 100644
--- a/recipes-devtools/go/go-binary-native_1.24.0.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.1.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "dea9ca38a0b852a74e81c26134671af7c0fbe65d81b0dc1c5bfe22cf7d4c8858"
-SRC_URI[go_linux_arm64.sha256sum] = "c3fa6d16ffa261091a5617145553c71d21435ce547e44cc6dfb7470865527cc7"
-SRC_URI[go_linux_ppc64le.sha256sum] = "a871a43de7d26c91dd90cb6e0adacb214c9e35ee2188c617c91c08c017efe81a"
+SRC_URI[go_linux_amd64.sha256sum] = "cb2396bae64183cdccf81a9a6df0aea3bce9511fc21469fb89a0c00470088073"
+SRC_URI[go_linux_arm64.sha256sum] = "8df5750ffc0281017fb6070fba450f5d22b600a02081dceef47966ffaf36a3af"
+SRC_URI[go_linux_ppc64le.sha256sum] = "0fb522efcefabae6e37e69bdc444094e75bfe824ea6d4cc3cbc70c7ae1b16858"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.0.bb b/recipes-devtools/go/go-cross-canadian_1.24.1.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.0.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.1.bb
diff --git a/recipes-devtools/go/go-cross_1.24.0.bb b/recipes-devtools/go/go-cross_1.24.1.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.0.bb
rename to recipes-devtools/go/go-cross_1.24.1.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.0.bb b/recipes-devtools/go/go-crosssdk_1.24.1.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.0.bb
rename to recipes-devtools/go/go-crosssdk_1.24.1.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.0.bb b/recipes-devtools/go/go-runtime_1.24.1.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.0.bb
rename to recipes-devtools/go/go-runtime_1.24.1.bb
diff --git a/recipes-devtools/go/go_1.24.0.bb b/recipes-devtools/go/go_1.24.1.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.0.bb
rename to recipes-devtools/go/go_1.24.1.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 18/34] go: upgrade 1.24.1 -> 1.24.2
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (16 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 17/34] go: upgrade 1.24.0 -> 1.24.1 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 19/34] go: upgrade 1.24.2 -> 1.24.3 Peter Marko
                   ` (16 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.0..go1.24.1
339c903a75 (tag: go1.24.1) [release-branch.go1.24] go1.24.1
334de7982f [release-branch.go1.24] all: updated vendored x/net with security fix
5d6920842b [release-branch.go1.24] runtime/cgo: avoid errors from -Wdeclaration-after-statement
949eae84df [release-branch.go1.24] cmd/compile: don't pull constant offsets out of pointer arithmetic
0bfde51e0d [release-branch.go1.24] runtime: document that cleanups can run concurrently with each other
45a52718e3 [release-branch.go1.24] runtime/cgo: avoid errors from -Wdeclaration-after-statement
7f375e2c22 [release-branch.go1.24] reflect: let Value.Seq return the iteration value correct type
4070531920 [release-branch.go1.24] syscall: disable O_DIRECTORY on Windows for js/wasm
5ffdb9c88b [release-branch.go1.24] reflect: correctly handle method values in Seq
becc17ebcd [release-branch.go1.24] runtime: use WCLONE when waiting on pidfd test child
d418e224ae [release-branch.go1.24] syscall: don't send child signal when testing pidfd
456eaf5c29 [release-branch.go1.24] cmd/compile: don't report newLimit discovered when unsat happens multiple times
e4ef83383e [release-branch.go1.24] debug/buildinfo: base64-encode test binaries
4e6d3468cc [release-branch.go1.24] cmd/compile: ensure we don't reuse temporary register
f5c388313f [release-branch.go1.24] internal/godebugs: add fips140 as an opaque godebug setting
af236716b2 [release-branch.go1.24] cmd/compile, runtime: use deferreturn as target PC for recover from deferrangefunc
0f7b7600fb [release-branch.go1.24] doc/godebug: mention GODEBUG=fips140
eb58df7dbf [release-branch.go1.24] cmd/compile: avoid infinite recursion when inlining closures
30f4d9e117 [release-branch.go1.24] syscall: don't truncate newly created files on Windows
bb0e5c2045 [release-branch.go1.24] runtime: fix usleep on s390x/linux
cd0e528d3d [release-branch.go1.24] runtime: add some linknames back for `github.com/bytedance/sonic`
80e2e474b8 [release-branch.go1.24] cmd/go: initialize req.Header when loading git credential

Fixes CVE-2025-22871

[1] https://github.com/golang/go/compare/go1.24.1...go1.24.2

(From OE-Core rev: c83927d94bc0afe2205324a976e9495d6df00caf)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.1.inc => go-1.24.2.inc}        | 2 +-
 ...o-binary-native_1.24.1.bb => go-binary-native_1.24.2.bb} | 6 +++---
 ...cross-canadian_1.24.1.bb => go-cross-canadian_1.24.2.bb} | 0
 .../go/{go-cross_1.24.1.bb => go-cross_1.24.2.bb}           | 0
 .../go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.2.bb}     | 0
 .../go/{go-runtime_1.24.1.bb => go-runtime_1.24.2.bb}       | 0
 recipes-devtools/go/{go_1.24.1.bb => go_1.24.2.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.1.inc => go-1.24.2.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.1.bb => go-binary-native_1.24.2.bb} (78%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.1.bb => go-cross-canadian_1.24.2.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.1.bb => go-cross_1.24.2.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.2.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.1.bb => go-runtime_1.24.2.bb} (100%)
 rename recipes-devtools/go/{go_1.24.1.bb => go_1.24.2.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.1.inc b/recipes-devtools/go/go-1.24.2.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.1.inc
rename to recipes-devtools/go/go-1.24.2.inc
index 4cf66e7..cb4ae9e 100644
--- a/recipes-devtools/go/go-1.24.1.inc
+++ b/recipes-devtools/go/go-1.24.2.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "8244ebf46c65607db10222b5806aeb31c1fcf8979c1b6b12f60c677e9a3c0656"
+SRC_URI[main.sha256sum] = "9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00"
diff --git a/recipes-devtools/go/go-binary-native_1.24.1.bb b/recipes-devtools/go/go-binary-native_1.24.2.bb
similarity index 78%
rename from recipes-devtools/go/go-binary-native_1.24.1.bb
rename to recipes-devtools/go/go-binary-native_1.24.2.bb
index ffe3d50..690b854 100644
--- a/recipes-devtools/go/go-binary-native_1.24.1.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.2.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "cb2396bae64183cdccf81a9a6df0aea3bce9511fc21469fb89a0c00470088073"
-SRC_URI[go_linux_arm64.sha256sum] = "8df5750ffc0281017fb6070fba450f5d22b600a02081dceef47966ffaf36a3af"
-SRC_URI[go_linux_ppc64le.sha256sum] = "0fb522efcefabae6e37e69bdc444094e75bfe824ea6d4cc3cbc70c7ae1b16858"
+SRC_URI[go_linux_amd64.sha256sum] = "68097bd680839cbc9d464a0edce4f7c333975e27a90246890e9f1078c7e702ad"
+SRC_URI[go_linux_arm64.sha256sum] = "756274ea4b68fa5535eb9fe2559889287d725a8da63c6aae4d5f23778c229f4b"
+SRC_URI[go_linux_ppc64le.sha256sum] = "5fff857791d541c71d8ea0171c73f6f99770d15ff7e2ad979104856d01f36563"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.1.bb b/recipes-devtools/go/go-cross-canadian_1.24.2.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.1.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.2.bb
diff --git a/recipes-devtools/go/go-cross_1.24.1.bb b/recipes-devtools/go/go-cross_1.24.2.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.1.bb
rename to recipes-devtools/go/go-cross_1.24.2.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.1.bb b/recipes-devtools/go/go-crosssdk_1.24.2.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.1.bb
rename to recipes-devtools/go/go-crosssdk_1.24.2.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.1.bb b/recipes-devtools/go/go-runtime_1.24.2.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.1.bb
rename to recipes-devtools/go/go-runtime_1.24.2.bb
diff --git a/recipes-devtools/go/go_1.24.1.bb b/recipes-devtools/go/go_1.24.2.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.1.bb
rename to recipes-devtools/go/go_1.24.2.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 19/34] go: upgrade 1.24.2 -> 1.24.3
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (17 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 18/34] go: upgrade 1.24.1 -> 1.24.2 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 20/34] go: upgrade 1.24.3 -> 1.24.4 Peter Marko
                   ` (15 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.2..go1.24.3
34c8b14ca9 (release-branch.go1.24) [release-branch.go1.24] go1.24.3
8947f3395e [release-branch.go1.24] os: avoid escape from Root via paths ending in ../
06fd2f115b [release-branch.go1.24] cmd/compile: remove no-longer-necessary recursive inlining checks
f66ab6521c [release-branch.go1.24] cmd/internal/obj/wasm: use i64 for large return addr
c1f9c2c7b0 [release-branch.go1.24] cmd/go/internal/load: join incompatible and dirty build specifiers with .
0ab64e2caa [release-branch.go1.24] runtime: cleanup M vgetrandom state before dropping P
56eb99859d [release-branch.go1.24] internal/runtime/maps: pass proper func PC to race.WritePC/race.ReadPC
43130aff52 [release-branch.go1.24] runtime: fix 9-arg syscall on darwin/amd64
b2c005e7b2 [release-branch.go1.24] crypto/tls: fix ECH compatibility
a9d9b55709 [release-branch.go1.24] cmd/link: choose one with larger size for duplicated BSS symbols
fa7217f74d [release-branch.go1.24] os: avoid panic in Root when symlink references the root

Fixes CVE-2025-22873

[1] https://github.com/golang/go/compare/go1.24.2...go1.24.3

(From OE-Core rev: b317570acf1e25a4cfaa0c66a2630d082b4d0bae)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.2.inc => go-1.24.3.inc}        | 2 +-
 ...o-binary-native_1.24.2.bb => go-binary-native_1.24.3.bb} | 6 +++---
 ...cross-canadian_1.24.2.bb => go-cross-canadian_1.24.3.bb} | 0
 .../go/{go-cross_1.24.2.bb => go-cross_1.24.3.bb}           | 0
 .../go/{go-crosssdk_1.24.2.bb => go-crosssdk_1.24.3.bb}     | 0
 .../go/{go-runtime_1.24.2.bb => go-runtime_1.24.3.bb}       | 0
 recipes-devtools/go/{go_1.24.2.bb => go_1.24.3.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.2.inc => go-1.24.3.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.2.bb => go-binary-native_1.24.3.bb} (78%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.2.bb => go-cross-canadian_1.24.3.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.2.bb => go-cross_1.24.3.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.2.bb => go-crosssdk_1.24.3.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.2.bb => go-runtime_1.24.3.bb} (100%)
 rename recipes-devtools/go/{go_1.24.2.bb => go_1.24.3.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.2.inc b/recipes-devtools/go/go-1.24.3.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.2.inc
rename to recipes-devtools/go/go-1.24.3.inc
index cb4ae9e..78e2614 100644
--- a/recipes-devtools/go/go-1.24.2.inc
+++ b/recipes-devtools/go/go-1.24.3.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "9dc77ffadc16d837a1bf32d99c624cb4df0647cee7b119edd9e7b1bcc05f2e00"
+SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878"
diff --git a/recipes-devtools/go/go-binary-native_1.24.2.bb b/recipes-devtools/go/go-binary-native_1.24.3.bb
similarity index 78%
rename from recipes-devtools/go/go-binary-native_1.24.2.bb
rename to recipes-devtools/go/go-binary-native_1.24.3.bb
index 690b854..af56dc9 100644
--- a/recipes-devtools/go/go-binary-native_1.24.2.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.3.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "68097bd680839cbc9d464a0edce4f7c333975e27a90246890e9f1078c7e702ad"
-SRC_URI[go_linux_arm64.sha256sum] = "756274ea4b68fa5535eb9fe2559889287d725a8da63c6aae4d5f23778c229f4b"
-SRC_URI[go_linux_ppc64le.sha256sum] = "5fff857791d541c71d8ea0171c73f6f99770d15ff7e2ad979104856d01f36563"
+SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8"
+SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836"
+SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.2.bb b/recipes-devtools/go/go-cross-canadian_1.24.3.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.2.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.3.bb
diff --git a/recipes-devtools/go/go-cross_1.24.2.bb b/recipes-devtools/go/go-cross_1.24.3.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.2.bb
rename to recipes-devtools/go/go-cross_1.24.3.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.2.bb b/recipes-devtools/go/go-crosssdk_1.24.3.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.2.bb
rename to recipes-devtools/go/go-crosssdk_1.24.3.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.2.bb b/recipes-devtools/go/go-runtime_1.24.3.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.2.bb
rename to recipes-devtools/go/go-runtime_1.24.3.bb
diff --git a/recipes-devtools/go/go_1.24.2.bb b/recipes-devtools/go/go_1.24.3.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.2.bb
rename to recipes-devtools/go/go_1.24.3.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 20/34] go: upgrade 1.24.3 -> 1.24.4
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (18 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 19/34] go: upgrade 1.24.2 -> 1.24.3 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 21/34] go: set status of CVE-2024-3566 Peter Marko
                   ` (14 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.3..go1.24.4
6796ebb2cb [release-branch.go1.24] go1.24.4
85897ca220 [release-branch.go1.24] net/http: strip sensitive proxy headers from redirect requests
9f9cf28f8f [release-branch.go1.24] os: don't follow symlinks on Windows when O_CREATE|O_EXCL
a31c931adf [release-branch.go1.24] cmd/link: allow linkname reference to a TEXT symbol regardless of size
03811ab1b3 [release-branch.go1.24] crypto/x509: decouple key usage and policy validation
04a9473847 [release-branch.go1.24] lib/fips140: set inprocess.txt to v1.0.0
db8f1dc948 [release-branch.go1.24] hash/maphash: hash channels in purego version of maphash.Comparable
664cf832ec [release-branch.go1.24] runtime/debug: document DefaultGODEBUG as a BuildSetting
431f75a0b9 [release-branch.go1.24] os: fix Root.Mkdir permission bits on OpenBSD

Fixes CVE-2025-4673, CVE-2025-0913 and CVE-2025-22874 [2].

[1] https://github.com/golang/go/compare/go1.24.3...go1.24.4
[2] https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A

(From OE-Core rev: 25aed3ec02c22857380957783e2926bf3368398c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc}        | 2 +-
 ...o-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} | 6 +++---
 ...cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} | 0
 .../go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb}           | 0
 .../go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb}     | 0
 .../go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb}       | 0
 recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} (78%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} (100%)
 rename recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.3.inc b/recipes-devtools/go/go-1.24.4.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.3.inc
rename to recipes-devtools/go/go-1.24.4.inc
index 78e2614..eff3f2f 100644
--- a/recipes-devtools/go/go-1.24.3.inc
+++ b/recipes-devtools/go/go-1.24.4.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878"
+SRC_URI[main.sha256sum] = "5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4"
diff --git a/recipes-devtools/go/go-binary-native_1.24.3.bb b/recipes-devtools/go/go-binary-native_1.24.4.bb
similarity index 78%
rename from recipes-devtools/go/go-binary-native_1.24.3.bb
rename to recipes-devtools/go/go-binary-native_1.24.4.bb
index af56dc9..9f78853 100644
--- a/recipes-devtools/go/go-binary-native_1.24.3.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.4.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8"
-SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836"
-SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856"
+SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717"
+SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241"
+SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.3.bb b/recipes-devtools/go/go-cross-canadian_1.24.4.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.3.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.4.bb
diff --git a/recipes-devtools/go/go-cross_1.24.3.bb b/recipes-devtools/go/go-cross_1.24.4.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.3.bb
rename to recipes-devtools/go/go-cross_1.24.4.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.3.bb b/recipes-devtools/go/go-crosssdk_1.24.4.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.3.bb
rename to recipes-devtools/go/go-crosssdk_1.24.4.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.3.bb b/recipes-devtools/go/go-runtime_1.24.4.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.3.bb
rename to recipes-devtools/go/go-runtime_1.24.4.bb
diff --git a/recipes-devtools/go/go_1.24.3.bb b/recipes-devtools/go/go_1.24.4.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.3.bb
rename to recipes-devtools/go/go_1.24.4.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 21/34] go: set status of CVE-2024-3566
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (19 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 20/34] go: upgrade 1.24.3 -> 1.24.4 Peter Marko
@ 2025-11-13 12:56 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 22/34] meta: remove consecutive blank lines Peter Marko
                   ` (13 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:56 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

NVD ([1]) tracks this as:
cpe:2.3:a:golang:go:*:*:*:*:*:*:*:*
Running on/with
  cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*

Yocto cve-check ignores the "Running on/with", so it needs to be ignored
explicitly.

[1] https://nvd.nist.gov/vuln/detail/CVE-2024-3566

(From OE-Core rev: c8ce6710d864d237fdf67d2c3d3aa0f0970a2a05)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/go-binary-native_1.24.4.bb | 1 +
 recipes-devtools/go/go-common.inc              | 1 +
 2 files changed, 2 insertions(+)

diff --git a/recipes-devtools/go/go-binary-native_1.24.4.bb b/recipes-devtools/go/go-binary-native_1.24.4.bb
index 9f78853..a5324d0 100644
--- a/recipes-devtools/go/go-binary-native_1.24.4.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.4.bb
@@ -17,6 +17,7 @@ UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
 
 CVE_PRODUCT = "golang:go"
+CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows"
 
 S = "${WORKDIR}/go"
 
diff --git a/recipes-devtools/go/go-common.inc b/recipes-devtools/go/go-common.inc
index ca8469d..a79c90f 100644
--- a/recipes-devtools/go/go-common.inc
+++ b/recipes-devtools/go/go-common.inc
@@ -21,6 +21,7 @@ UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.src\.tar"
 
 # all recipe variants are created from the same product
 CVE_PRODUCT = "golang:go"
+CVE_STATUS[CVE-2024-3566] = "not-applicable-platform: Issue only applies on Windows"
 
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 SSTATE_SCAN_CMD = "true"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 22/34] meta: remove consecutive blank lines
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (20 preceding siblings ...)
  2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 21/34] go: set status of CVE-2024-3566 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 23/34] go: upgrade 1.24.4 -> 1.24.5 Peter Marko
                   ` (12 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Alexander Kanavin <alex@linutronix.de>

Some of them were introduced by mass-removal of S = WORKDIR/git assignments;
rather than try to fix up (or redo) just these, I've run this sed command over
the whole tree:

sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`

The rationale is that more than one empty line is wasting vertical screen space, and
does nothing for readability.

(From OE-Core rev: cedc4ff7c9bcfb22a20e43e47f9759f4007a4f1a)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-cross-canadian.inc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/recipes-devtools/go/go-cross-canadian.inc b/recipes-devtools/go/go-cross-canadian.inc
index dd485b6..101a208 100644
--- a/recipes-devtools/go/go-cross-canadian.inc
+++ b/recipes-devtools/go/go-cross-canadian.inc
@@ -29,7 +29,6 @@ do_compile() {
 }
 do_compile[cleandirs] += "${GOTMPDIR} ${B}/bin ${B}/pkg"
 
-
 make_wrapper() {
 	rm -f ${D}${bindir}/$2
 	cat <<END >${D}${bindir}/$2


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 23/34] go: upgrade 1.24.4 -> 1.24.5
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (21 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 22/34] meta: remove consecutive blank lines Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 24/34] go: upgrade 1.24.5 -> 1.24.6 Peter Marko
                   ` (11 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.4..go1.24.5
9d828e80fa (tag: go1.24.5) [release-branch.go1.24] go1.24.5
825eeee3f7 [release-branch.go1.24] cmd/go: disable support for multiple vcs in one module
dbf30d88f3 [release-branch.go1.24] cmd/link: permit a larger size BSS reference to a smaller DATA symbol
6b51660c8c [release-branch.go1.24] runtime: set mspan limit field early and eagerly
cc604130c8 [release-branch.go1.24] runtime: prevent mutual deadlock between GC stopTheWorld and suspendG
21b488bb60 [release-branch.go1.24] runtime: handle system goroutines later in goroutine profiling
e038690847 [release-branch.go1.24] cmd/go/internal/fips140: ignore GOEXPERIMENT on error
1575127ef8 [release-branch.go1.24] runtime: add missing unlock in sysReserveAlignedSbrk
7d08a16fba [release-branch.go1.24] cmd/compile/internal/ssa: fix PPC64 merging of (AND (S[RL]Dconst ...)
5f2cbe1f64 [release-branch.go1.24] cmd/compile: do nil check before calling duff functions, on arm64 and amd64

Fixes CVE-2025-4674 [2].

[1] https://github.com/golang/go/compare/go1.24.4...go1.24.5
[2] https://groups.google.com/g/golang-announce/c/gTNJnDXmn34

(From OE-Core rev: a3cc5038ea10a4857627e6f4de25bdc43023a349)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.4.inc => go-1.24.5.inc}        | 2 +-
 ...o-binary-native_1.24.4.bb => go-binary-native_1.24.5.bb} | 6 +++---
 ...cross-canadian_1.24.4.bb => go-cross-canadian_1.24.5.bb} | 0
 .../go/{go-cross_1.24.4.bb => go-cross_1.24.5.bb}           | 0
 .../go/{go-crosssdk_1.24.4.bb => go-crosssdk_1.24.5.bb}     | 0
 .../go/{go-runtime_1.24.4.bb => go-runtime_1.24.5.bb}       | 0
 recipes-devtools/go/{go_1.24.4.bb => go_1.24.5.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.4.inc => go-1.24.5.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.4.bb => go-binary-native_1.24.5.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.4.bb => go-cross-canadian_1.24.5.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.4.bb => go-cross_1.24.5.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.4.bb => go-crosssdk_1.24.5.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.4.bb => go-runtime_1.24.5.bb} (100%)
 rename recipes-devtools/go/{go_1.24.4.bb => go_1.24.5.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.4.inc b/recipes-devtools/go/go-1.24.5.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.4.inc
rename to recipes-devtools/go/go-1.24.5.inc
index eff3f2f..fae0d3f 100644
--- a/recipes-devtools/go/go-1.24.4.inc
+++ b/recipes-devtools/go/go-1.24.5.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4"
+SRC_URI[main.sha256sum] = "74fdb09f2352e2b25b7943e56836c9b47363d28dec1c8b56c4a9570f30b8f59f"
diff --git a/recipes-devtools/go/go-binary-native_1.24.4.bb b/recipes-devtools/go/go-binary-native_1.24.5.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.24.4.bb
rename to recipes-devtools/go/go-binary-native_1.24.5.bb
index a5324d0..3de6306 100644
--- a/recipes-devtools/go/go-binary-native_1.24.4.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.5.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717"
-SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241"
-SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec"
+SRC_URI[go_linux_amd64.sha256sum] = "10ad9e86233e74c0f6590fe5426895de6bf388964210eac34a6d83f38918ecdc"
+SRC_URI[go_linux_arm64.sha256sum] = "0df02e6aeb3d3c06c95ff201d575907c736d6c62cfa4b6934c11203f1d600ffa"
+SRC_URI[go_linux_ppc64le.sha256sum] = "00bdfb16d1094e78473b681d2d09d42c19c886d4dfed743853769f1665c7a552"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.4.bb b/recipes-devtools/go/go-cross-canadian_1.24.5.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.4.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.5.bb
diff --git a/recipes-devtools/go/go-cross_1.24.4.bb b/recipes-devtools/go/go-cross_1.24.5.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.4.bb
rename to recipes-devtools/go/go-cross_1.24.5.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.4.bb b/recipes-devtools/go/go-crosssdk_1.24.5.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.4.bb
rename to recipes-devtools/go/go-crosssdk_1.24.5.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.4.bb b/recipes-devtools/go/go-runtime_1.24.5.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.4.bb
rename to recipes-devtools/go/go-runtime_1.24.5.bb
diff --git a/recipes-devtools/go/go_1.24.4.bb b/recipes-devtools/go/go_1.24.5.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.4.bb
rename to recipes-devtools/go/go_1.24.5.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 24/34] go: upgrade 1.24.5 -> 1.24.6
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (22 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 23/34] go: upgrade 1.24.4 -> 1.24.5 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 25/34] go-cross: Disable build with ccache Peter Marko
                   ` (10 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.24.x release [1]:

$ git --no-pager log --oneline go1.24.5..go1.24.6
7f36edc26d [release-branch.go1.24] go1.24.6
83b4a5db24 [release-branch.go1.24] database/sql: avoid closing Rows while scan is in progress
0f5133b742 [release-branch.go1.24] os/exec: fix incorrect expansion of "", "." and ".." in LookPath
6e1c4529e4 [release-branch.go1.24] cmd/compile: for arm64 epilog, do SP increment with a single instruction
731de13dc3 [release-branch.go1.24] os/user: user random name for the test user account
390ffce7d6 [release-branch.go1.24] runtime: prevent unnecessary zeroing of large objects with pointers
b454859a8a [release-branch.go1.24] runtime: stash allpSnapshot on the M

Fixes CVE-2025-47906 and CVE-2025-47907 [2].

[1] https://github.com/golang/go/compare/go1.24.5...go1.24.6
[2] https://groups.google.com/g/golang-announce/c/x5MKroML2yM

(From OE-Core rev: f3072c210ac0a1e4d8046d920c3ebc29f9916b72)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.24.5.inc => go-1.24.6.inc}        | 2 +-
 ...o-binary-native_1.24.5.bb => go-binary-native_1.24.6.bb} | 6 +++---
 ...cross-canadian_1.24.5.bb => go-cross-canadian_1.24.6.bb} | 0
 .../go/{go-cross_1.24.5.bb => go-cross_1.24.6.bb}           | 0
 .../go/{go-crosssdk_1.24.5.bb => go-crosssdk_1.24.6.bb}     | 0
 .../go/{go-runtime_1.24.5.bb => go-runtime_1.24.6.bb}       | 0
 recipes-devtools/go/{go_1.24.5.bb => go_1.24.6.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.24.5.inc => go-1.24.6.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.24.5.bb => go-binary-native_1.24.6.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.5.bb => go-cross-canadian_1.24.6.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.5.bb => go-cross_1.24.6.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.5.bb => go-crosssdk_1.24.6.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.5.bb => go-runtime_1.24.6.bb} (100%)
 rename recipes-devtools/go/{go_1.24.5.bb => go_1.24.6.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.5.inc b/recipes-devtools/go/go-1.24.6.inc
similarity index 91%
rename from recipes-devtools/go/go-1.24.5.inc
rename to recipes-devtools/go/go-1.24.6.inc
index fae0d3f..a3933c2 100644
--- a/recipes-devtools/go/go-1.24.5.inc
+++ b/recipes-devtools/go/go-1.24.6.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
 "
-SRC_URI[main.sha256sum] = "74fdb09f2352e2b25b7943e56836c9b47363d28dec1c8b56c4a9570f30b8f59f"
+SRC_URI[main.sha256sum] = "e1cb5582aab588668bc04c07de18688070f6b8c9b2aaf361f821e19bd47cfdbd"
diff --git a/recipes-devtools/go/go-binary-native_1.24.5.bb b/recipes-devtools/go/go-binary-native_1.24.6.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.24.5.bb
rename to recipes-devtools/go/go-binary-native_1.24.6.bb
index 3de6306..86a3ad8 100644
--- a/recipes-devtools/go/go-binary-native_1.24.5.bb
+++ b/recipes-devtools/go/go-binary-native_1.24.6.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "10ad9e86233e74c0f6590fe5426895de6bf388964210eac34a6d83f38918ecdc"
-SRC_URI[go_linux_arm64.sha256sum] = "0df02e6aeb3d3c06c95ff201d575907c736d6c62cfa4b6934c11203f1d600ffa"
-SRC_URI[go_linux_ppc64le.sha256sum] = "00bdfb16d1094e78473b681d2d09d42c19c886d4dfed743853769f1665c7a552"
+SRC_URI[go_linux_amd64.sha256sum] = "bbca37cc395c974ffa4893ee35819ad23ebb27426df87af92e93a9ec66ef8712"
+SRC_URI[go_linux_arm64.sha256sum] = "124ea6033a8bf98aa9fbab53e58d134905262d45a022af3a90b73320f3c3afd5"
+SRC_URI[go_linux_ppc64le.sha256sum] = "63fc9559a3d6dfd63aa902f714375b879bbc848466181c035c122489b9646e27"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.5.bb b/recipes-devtools/go/go-cross-canadian_1.24.6.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.5.bb
rename to recipes-devtools/go/go-cross-canadian_1.24.6.bb
diff --git a/recipes-devtools/go/go-cross_1.24.5.bb b/recipes-devtools/go/go-cross_1.24.6.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.5.bb
rename to recipes-devtools/go/go-cross_1.24.6.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.5.bb b/recipes-devtools/go/go-crosssdk_1.24.6.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.5.bb
rename to recipes-devtools/go/go-crosssdk_1.24.6.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.5.bb b/recipes-devtools/go/go-runtime_1.24.6.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.5.bb
rename to recipes-devtools/go/go-runtime_1.24.6.bb
diff --git a/recipes-devtools/go/go_1.24.5.bb b/recipes-devtools/go/go_1.24.6.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.5.bb
rename to recipes-devtools/go/go_1.24.6.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 25/34] go-cross: Disable build with ccache
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (23 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 24/34] go: upgrade 1.24.5 -> 1.24.6 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 26/34] go-cross-canadian: fix binaries install and GOARCH Peter Marko
                   ` (9 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Khem Raj <raj.khem@gmail.com>

go compiler does not work reliably with ccache
gcc: fatal error: no input files

(From OE-Core rev: 136743fe72591b90794ec30b9a3fbb41fe6a66aa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-cross.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/recipes-devtools/go/go-cross.inc b/recipes-devtools/go/go-cross.inc
index a0fbdbe..ebee2e5 100644
--- a/recipes-devtools/go/go-cross.inc
+++ b/recipes-devtools/go/go-cross.inc
@@ -5,6 +5,8 @@ DEPENDS = "go-native"
 
 PN = "go-cross-${TUNE_PKGARCH}"
 
+CCACHE_DISABLE = "1"
+
 export GOCACHE = "${B}/.cache"
 CC = "${@d.getVar('BUILD_CC').strip()}"
 


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 26/34] go-cross-canadian: fix binaries install and GOARCH
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (24 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 25/34] go-cross: Disable build with ccache Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 27/34] go: upgrade 1.24.6 -> 1.25.0 Peter Marko
                   ` (8 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Osama Abdelkader <osama.abdelkader@gmail.com>

set GOARCH to HOST_GOARCH which is set from SDKMACHINE,
since GOARCH defaults to TARGET_GOARCH, which is set from MACHINE (wrong arch).

Also fix do_install to correctly install all binaries from
${GO_BUILD_BINDIR} by using 'find -type f' to avoid issues when the
directory contains subdirectories (e.g. "linux_arm").

(From OE-Core rev: 31e3bd61c7986bc044e547aa5cb9caba7b32bf22)

Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-cross-canadian.inc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/recipes-devtools/go/go-cross-canadian.inc b/recipes-devtools/go/go-cross-canadian.inc
index 101a208..9ebcf9c 100644
--- a/recipes-devtools/go/go-cross-canadian.inc
+++ b/recipes-devtools/go/go-cross-canadian.inc
@@ -5,6 +5,8 @@ DEPENDS = "go-native virtual/${HOST_PREFIX}go virtual/nativesdk-${HOST_PREFIX}go
            virtual/nativesdk-${HOST_PREFIX}compilerlibs"
 PN = "go-cross-canadian-${TRANSLATED_TARGET_ARCH}"
 
+GOARCH = "${HOST_GOARCH}"
+
 # it uses gcc on build machine during go-cross-canadian bootstrap, but
 # the gcc version may be old and not support option '-fmacro-prefix-map'
 # which is one of default values of DEBUG_PREFIX_MAP
@@ -51,7 +53,7 @@ do_install() {
 	install -d ${D}${libdir}/go/pkg/tool
 	cp --preserve=mode,timestamps -R ${B}/pkg/tool/${HOST_GOTUPLE} ${D}${libdir}/go/pkg/tool/
 	install -d ${D}${bindir} ${D}${libdir}/go/bin
-	for f in ${B}/${GO_BUILD_BINDIR}/*
+	for f in $(find ${B}/${GO_BUILD_BINDIR} -type f)
 	do
 		base=`basename $f`
 		install -m755 $f ${D}${libdir}/go/bin


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 27/34] go: upgrade 1.24.6 -> 1.25.0
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (25 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 26/34] go-cross-canadian: fix binaries install and GOARCH Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 28/34] conf/layer: switch to golang 1.25 Peter Marko
                   ` (7 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Release Announcement: [1]
Release notes: [2]
Refreshes all patches.

[1] https://groups.google.com/g/golang-announce/c/BVrdugXW05c
[2] https://go.dev/doc/go1.25

(From OE-Core rev: 89770e94434253f1b08cea542cd7bb0d553dac09)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 .../go/{go-1.24.6.inc => go-1.25.0.inc}       |  4 +--
 ...e_1.24.6.bb => go-binary-native_1.25.0.bb} |  6 ++---
 ..._1.24.6.bb => go-cross-canadian_1.25.0.bb} |  0
 ...{go-cross_1.24.6.bb => go-cross_1.25.0.bb} |  0
 ...osssdk_1.24.6.bb => go-crosssdk_1.25.0.bb} |  0
 ...runtime_1.24.6.bb => go-runtime_1.25.0.bb} |  0
 ...ent-based-hash-generation-less-pedan.patch | 15 ++++++-----
 ...OOLDIR-to-be-overridden-in-the-envir.patch |  6 ++---
 ...3-ld-add-soname-to-shareable-objects.patch |  6 ++---
 ...dist-separate-host-and-target-builds.patch | 26 +++++++++----------
 ...d-go-make-GOROOT-precious-by-default.patch | 16 ++++++------
 ...ut-build-specific-paths-from-linker-.patch |  4 +--
 ...ldgo.go-do-not-hardcode-host-compile.patch |  4 +--
 ...uild-paths-on-staticly-linked-arches.patch |  6 ++---
 ...OOT-for-func-ldShared-when-trimpath-.patch | 11 ++++----
 ...cing-binutils-gold-dependency-on-aa.patch} |  5 ++--
 .../go/{go_1.24.6.bb => go_1.25.0.bb}         |  0
 17 files changed, 55 insertions(+), 54 deletions(-)
 rename recipes-devtools/go/{go-1.24.6.inc => go-1.25.0.inc} (83%)
 rename recipes-devtools/go/{go-binary-native_1.24.6.bb => go-binary-native_1.25.0.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.24.6.bb => go-cross-canadian_1.25.0.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.24.6.bb => go-cross_1.25.0.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.24.6.bb => go-crosssdk_1.25.0.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.24.6.bb => go-runtime_1.25.0.bb} (100%)
 rename recipes-devtools/go/go/{6d265b008e3d106b2706645e5a88cd8e2fb98953.patch => 0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch} (93%)
 rename recipes-devtools/go/{go_1.24.6.bb => go_1.25.0.bb} (100%)

diff --git a/recipes-devtools/go/go-1.24.6.inc b/recipes-devtools/go/go-1.25.0.inc
similarity index 83%
rename from recipes-devtools/go/go-1.24.6.inc
rename to recipes-devtools/go/go-1.25.0.inc
index a3933c2..f562fbb 100644
--- a/recipes-devtools/go/go-1.24.6.inc
+++ b/recipes-devtools/go/go-1.25.0.inc
@@ -15,6 +15,6 @@ SRC_URI += "\
     file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
-    file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
+    file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
 "
-SRC_URI[main.sha256sum] = "e1cb5582aab588668bc04c07de18688070f6b8c9b2aaf361f821e19bd47cfdbd"
+SRC_URI[main.sha256sum] = "4bd01e91297207bfa450ea40d4d5a93b1b531a5e438473b2a06e18e077227225"
diff --git a/recipes-devtools/go/go-binary-native_1.24.6.bb b/recipes-devtools/go/go-binary-native_1.25.0.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.24.6.bb
rename to recipes-devtools/go/go-binary-native_1.25.0.bb
index 86a3ad8..8e61787 100644
--- a/recipes-devtools/go/go-binary-native_1.24.6.bb
+++ b/recipes-devtools/go/go-binary-native_1.25.0.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "bbca37cc395c974ffa4893ee35819ad23ebb27426df87af92e93a9ec66ef8712"
-SRC_URI[go_linux_arm64.sha256sum] = "124ea6033a8bf98aa9fbab53e58d134905262d45a022af3a90b73320f3c3afd5"
-SRC_URI[go_linux_ppc64le.sha256sum] = "63fc9559a3d6dfd63aa902f714375b879bbc848466181c035c122489b9646e27"
+SRC_URI[go_linux_amd64.sha256sum] = "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613"
+SRC_URI[go_linux_arm64.sha256sum] = "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae"
+SRC_URI[go_linux_ppc64le.sha256sum] = "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.24.6.bb b/recipes-devtools/go/go-cross-canadian_1.25.0.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.24.6.bb
rename to recipes-devtools/go/go-cross-canadian_1.25.0.bb
diff --git a/recipes-devtools/go/go-cross_1.24.6.bb b/recipes-devtools/go/go-cross_1.25.0.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.24.6.bb
rename to recipes-devtools/go/go-cross_1.25.0.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.24.6.bb b/recipes-devtools/go/go-crosssdk_1.25.0.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.24.6.bb
rename to recipes-devtools/go/go-crosssdk_1.25.0.bb
diff --git a/recipes-devtools/go/go-runtime_1.24.6.bb b/recipes-devtools/go/go-runtime_1.25.0.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.24.6.bb
rename to recipes-devtools/go/go-runtime_1.25.0.bb
diff --git a/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
index 86e941b..b55ad1e 100644
--- a/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -82,8 +82,8 @@ index 7b073165d5..1f618be0bb 100644
  		fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
  		// Include the C compiler tool ID so that if the C
  		// compiler changes we rebuild the package.
-@@ -303,14 +305,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
- 			fmt.Fprintf(h, "CC ID=%q\n", ccID)
+@@ -305,7 +307,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+ 			fmt.Fprintf(h, "CC ID ERROR=%q\n", err)
  		}
  		if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
 -			cxxExe := b.cxxExe()
@@ -91,6 +91,7 @@ index 7b073165d5..1f618be0bb 100644
  			fmt.Fprintf(h, "CXX=%q %q\n", cxxExe, cxxflags)
  			if cxxID, _, err := b.gccToolID(cxxExe[0], "c++"); err == nil {
  				fmt.Fprintf(h, "CXX ID=%q\n", cxxID)
+@@ -314,7 +316,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  			}
  		}
  		if len(p.FFiles) > 0 {
@@ -99,7 +100,7 @@ index 7b073165d5..1f618be0bb 100644
  			fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
  			if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil {
  				fmt.Fprintf(h, "FC ID=%q\n", fcID)
-@@ -327,7 +329,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
+@@ -333,7 +335,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
  		}
  	}
  	if p.Internal.BuildInfo != nil {
@@ -108,7 +109,7 @@ index 7b073165d5..1f618be0bb 100644
  	}
  
  	// Configuration specific to compiler toolchain.
-@@ -2659,8 +2661,25 @@ func envList(key, def string) []string {
+@@ -2631,8 +2633,25 @@ func envList(key, def string) []string {
  	return args
  }
  
@@ -135,7 +136,7 @@ index 7b073165d5..1f618be0bb 100644
  	if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
  		return
  	}
-@@ -2676,6 +2695,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
+@@ -2648,6 +2667,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
  	if ldflags, err = buildFlags("LDFLAGS", DefaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
  		return
  	}
@@ -149,7 +150,7 @@ index 7b073165d5..1f618be0bb 100644
  
  	return
  }
-@@ -2693,7 +2719,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
+@@ -2665,7 +2691,7 @@ func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgo
  	p := a.Package
  	sh := b.Shell(a)
  
@@ -158,7 +159,7 @@ index 7b073165d5..1f618be0bb 100644
  	if err != nil {
  		return nil, nil, err
  	}
-@@ -3256,7 +3282,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
+@@ -3229,7 +3255,7 @@ func (b *Builder) swigOne(a *Action, file, objdir string, pcCFLAGS []string, cxx
  	p := a.Package
  	sh := b.Shell(a)
  
diff --git a/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
index 7e86d8c..f6767d0 100644
--- a/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ b/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
@@ -23,7 +23,7 @@ diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
 index 1f467647f5..b62e518030 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -280,7 +280,9 @@ func xinit() {
+@@ -271,7 +271,9 @@ func xinit() {
  	}
  	xatexit(rmworkdir)
  
@@ -33,12 +33,12 @@ index 1f467647f5..b62e518030 100644
 +	}
  
  	goversion := findgoversion()
- 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
+ 	isRelease = (strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")) &&
 diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
 index 3b9f27e91d..ec043c1530 100644
 --- a/src/cmd/go/internal/cfg/cfg.go
 +++ b/src/cmd/go/internal/cfg/cfg.go
-@@ -248,7 +248,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
+@@ -279,7 +279,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
  			// This matches the initialization of ToolDir in go/build, except for
  			// using ctxt.GOROOT and the installed GOOS and GOARCH rather than the
  			// GOROOT, GOOS, and GOARCH reported by the runtime package.
diff --git a/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
index 86a4bb1..14ed617 100644
--- a/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
+++ b/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
@@ -22,7 +22,7 @@ diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
 index 2d8f964f35..dfc72e02c0 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1624,6 +1624,7 @@ func (ctxt *Link) hostlink() {
+@@ -1628,6 +1628,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
@@ -30,7 +30,7 @@ index 2d8f964f35..dfc72e02c0 100644
  			if ctxt.HeadType == objabi.Hwindows {
  				argv = addASLRargs(argv, *flagAslr)
  			} else {
-@@ -1639,6 +1640,7 @@ func (ctxt *Link) hostlink() {
+@@ -1643,6 +1644,7 @@ func (ctxt *Link) hostlink() {
  			argv = append(argv, "-Wl,-z,relro")
  		}
  		argv = append(argv, "-shared")
@@ -38,7 +38,7 @@ index 2d8f964f35..dfc72e02c0 100644
  	case BuildModePlugin:
  		if ctxt.HeadType == objabi.Hdarwin {
  			argv = append(argv, "-dynamiclib")
-@@ -1647,6 +1649,7 @@ func (ctxt *Link) hostlink() {
+@@ -1651,6 +1653,7 @@ func (ctxt *Link) hostlink() {
  				argv = append(argv, "-Wl,-z,relro")
  			}
  			argv = append(argv, "-shared")
diff --git a/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
index f7c3108..42bfa8e 100644
--- a/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
+++ b/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
@@ -51,7 +51,7 @@ diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
 index b62e518030..0c54d82300 100644
 --- a/src/cmd/dist/build.go
 +++ b/src/cmd/dist/build.go
-@@ -49,6 +49,7 @@ var (
+@@ -50,6 +50,7 @@ var (
  	gofips140        string
  	workdir          string
  	tooldir          string
@@ -59,7 +59,7 @@ index b62e518030..0c54d82300 100644
  	oldgoos          string
  	oldgoarch        string
  	oldgocache       string
-@@ -61,6 +62,7 @@ var (
+@@ -62,6 +63,7 @@ var (
  	rebuildall bool
  	noOpt      bool
  	isRelease  bool
@@ -67,16 +67,16 @@ index b62e518030..0c54d82300 100644
  
  	vflag int // verbosity
  )
-@@ -286,6 +288,8 @@ func xinit() {
- 
+@@ -278,6 +280,8 @@ func xinit() {
  	goversion := findgoversion()
- 	isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
+ 	isRelease = (strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")) &&
+ 		!strings.Contains(goversion, "devel")
 +
 +	build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
  }
  
  // compilerEnv returns a map from "goos/goarch" to the
-@@ -547,8 +551,10 @@ func setup() {
+@@ -543,8 +547,10 @@ func setup() {
  	goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
  	if rebuildall {
  		xremoveall(goosGoarch)
@@ -87,7 +87,7 @@ index b62e518030..0c54d82300 100644
  	xatexit(func() {
  		if files := xreaddir(goosGoarch); len(files) == 0 {
  			xremove(goosGoarch)
-@@ -1411,14 +1417,20 @@ func cmdbootstrap() {
+@@ -1420,14 +1426,20 @@ func cmdbootstrap() {
  	defer timelog("end", "dist bootstrap")
  
  	var debug, distpack, force, noBanner, noClean bool
@@ -109,7 +109,7 @@ index b62e518030..0c54d82300 100644
  
  	if noClean {
  		xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
-@@ -1430,6 +1442,18 @@ func cmdbootstrap() {
+@@ -1439,6 +1451,18 @@ func cmdbootstrap() {
  			"Use the -force flag to build anyway.\n", goos, goarch)
  	}
  
@@ -128,7 +128,7 @@ index b62e518030..0c54d82300 100644
  	// Set GOPATH to an internal directory. We shouldn't actually
  	// need to store files here, since the toolchain won't
  	// depend on modules outside of vendor directories, but if
-@@ -1513,9 +1537,14 @@ func cmdbootstrap() {
+@@ -1517,9 +1541,14 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  
@@ -143,7 +143,7 @@ index b62e518030..0c54d82300 100644
  	goBootstrap := pathf("%s/go_bootstrap", tooldir)
  	if debug {
  		run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
-@@ -1543,7 +1572,11 @@ func cmdbootstrap() {
+@@ -1547,7 +1576,11 @@ func cmdbootstrap() {
  		xprintf("\n")
  	}
  	xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
@@ -155,7 +155,7 @@ index b62e518030..0c54d82300 100644
  	// Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
  	os.Setenv("GOEXPERIMENT", goexperiment)
  	// No need to enable PGO for toolchain2.
-@@ -1596,6 +1629,7 @@ func cmdbootstrap() {
+@@ -1600,6 +1633,7 @@ func cmdbootstrap() {
  		os.Setenv("GOCACHE", oldgocache)
  	}
  
@@ -163,7 +163,7 @@ index b62e518030..0c54d82300 100644
  	if goos == oldgoos && goarch == oldgoarch {
  		// Common case - not setting up for cross-compilation.
  		timelog("build", "toolchain")
-@@ -1639,6 +1673,42 @@ func cmdbootstrap() {
+@@ -1643,6 +1677,42 @@ func cmdbootstrap() {
  		checkNotStale(toolenv(), goBootstrap, toolchain...)
  		copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
  	}
@@ -206,7 +206,7 @@ index b62e518030..0c54d82300 100644
  
  	// Check that there are no new files in $GOROOT/bin other than
  	// go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling).
-@@ -1661,8 +1731,12 @@ func cmdbootstrap() {
+@@ -1665,8 +1735,12 @@ func cmdbootstrap() {
  		}
  	}
  
diff --git a/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
index b29da33..5117379 100644
--- a/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
@@ -32,7 +32,7 @@ diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/actio
 index 44bb9f8c1e..87ac4e30e5 100644
 --- a/src/cmd/go/internal/work/action.go
 +++ b/src/cmd/go/internal/work/action.go
-@@ -837,6 +837,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
+@@ -844,6 +844,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
  			if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
  				continue
  			}
@@ -46,7 +46,7 @@ diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.
 index 3508d51fbb..77f5e7241a 100644
 --- a/src/cmd/go/internal/work/build.go
 +++ b/src/cmd/go/internal/work/build.go
-@@ -238,6 +238,8 @@ See also: go install, go get, go clean.
+@@ -239,6 +239,8 @@ See also: go install, go get, go clean.
  
  const concurrentGCBackendCompilationEnabledByDefault = true
  
@@ -55,9 +55,9 @@ index 3508d51fbb..77f5e7241a 100644
  func init() {
  	// break init cycle
  	CmdBuild.Run = runBuild
-@@ -251,6 +253,10 @@ func init() {
- 		AddCoverFlags(CmdBuild, nil)
- 		AddCoverFlags(CmdInstall, nil)
+@@ -293,6 +295,10 @@ func init() {
+ 	case "gc", "gccgo":
+ 		buildCompiler{}.Set(build.Default.Compiler)
  	}
 +
 +	if x := os.Getenv("GOROOT_OVERRIDE"); x != "" {
@@ -65,12 +65,12 @@ index 3508d51fbb..77f5e7241a 100644
 +	}
  }
  
- // Note that flags consulted by other parts of the code
+ type BuildFlagMask int
 diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
 index 1f618be0bb..651fa64582 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -552,6 +552,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
+@@ -558,6 +558,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
  		return err
  	}
  
@@ -94,7 +94,7 @@ index 1f618be0bb..651fa64582 100644
  	if err := sh.Mkdir(a.Objdir); err != nil {
  		return err
  	}
-@@ -1747,6 +1764,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
+@@ -1731,6 +1748,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
  		return err
  	}
  
diff --git a/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
index 9a701c7..7fe8d9d 100644
--- a/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
+++ b/recipes-devtools/go/go/0007-exec.go-filter-out-build-specific-paths-from-linker-.patch
@@ -19,7 +19,7 @@ diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
 index 651fa64582..586079afb4 100644
 --- a/src/cmd/go/internal/work/exec.go
 +++ b/src/cmd/go/internal/work/exec.go
-@@ -1426,6 +1426,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
+@@ -1410,6 +1410,29 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
  	return h.Sum()
  }
  
@@ -49,7 +49,7 @@ index 651fa64582..586079afb4 100644
  // printLinkerConfig prints the linker config into the hash h,
  // as part of the computation of a linker-related action ID.
  func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
-@@ -1436,7 +1459,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
+@@ -1420,7 +1443,7 @@ func (b *Builder) printLinkerConfig(h io.Writer, p *load.Package) {
  	case "gc":
  		fmt.Fprintf(h, "link %s %q %s\n", b.toolID("link"), forcedLdflags, ldBuildmode)
  		if p != nil {
diff --git a/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
index a9cb2a4..59cbff1 100644
--- a/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
+++ b/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
@@ -19,7 +19,7 @@ diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
 index 884e9d729a..2f52edacfe 100644
 --- a/src/cmd/dist/buildgo.go
 +++ b/src/cmd/dist/buildgo.go
-@@ -51,8 +51,8 @@ func mkzdefaultcc(dir, file string) {
+@@ -50,8 +50,8 @@ func mkzdefaultcc(dir, file string) {
  		fmt.Fprintf(&buf, "package cfg\n")
  		fmt.Fprintln(&buf)
  		fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig)
@@ -30,7 +30,7 @@ index 884e9d729a..2f52edacfe 100644
  		writefile(buf.String(), file, writeSkipSame)
  		return
  	}
-@@ -62,8 +62,8 @@ func mkzdefaultcc(dir, file string) {
+@@ -61,8 +61,8 @@ func mkzdefaultcc(dir, file string) {
  	fmt.Fprintf(&buf, "package main\n")
  	fmt.Fprintln(&buf)
  	fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig)
diff --git a/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
index d47c4b1..7bb9757 100644
--- a/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
+++ b/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
@@ -20,7 +20,7 @@ diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
 index 15f6b2e87b..47c5b865a1 100644
 --- a/src/cmd/go/internal/load/pkg.go
 +++ b/src/cmd/go/internal/load/pkg.go
-@@ -2291,6 +2291,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
+@@ -2313,6 +2313,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
  	info.Settings = append(info.Settings, debug.BuildSetting{Key: key, Value: value})
  }
  
@@ -38,7 +38,7 @@ index 15f6b2e87b..47c5b865a1 100644
  // setBuildInfo gathers build information and sets it into
  // p.Internal.BuildInfo, which will later be formatted as a string and embedded
  // in the binary. setBuildInfo should only be called on a main package with no
-@@ -2398,7 +2409,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+@@ -2420,7 +2431,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
  		appendSetting("-gcflags", gcflags)
  	}
@@ -47,7 +47,7 @@ index 15f6b2e87b..47c5b865a1 100644
  		// https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
  		// since it can include system paths through various linker flags (notably
  		// -extar, -extld, and -extldflags).
-@@ -2444,7 +2455,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
+@@ -2466,7 +2477,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
  	// subset of flags that are known not to be paths?
  	if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
  		for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
diff --git a/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch b/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch
index 2c2f0cb..ac70abd 100644
--- a/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch
+++ b/recipes-devtools/go/go/0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch
@@ -30,19 +30,18 @@ diff --git a/src/cmd/go/internal/work/gc.go b/src/cmd/go/internal/work/gc.go
 index 3a173efee8..8b7a44e031 100644
 --- a/src/cmd/go/internal/work/gc.go
 +++ b/src/cmd/go/internal/work/gc.go
-@@ -728,7 +728,14 @@ func (gcToolchain) ldShared(b *Builder, root *Action, toplevelactions []*Action,
+@@ -727,7 +727,13 @@ func (gcToolchain) ldShared(b *Builder, root *Action, toplevelactions []*Action,
  	// the output file path is recorded in the .gnu.version_d section.
  	dir, targetPath := filepath.Split(targetPath)
  
--	return b.Shell(root).run(dir, targetPath, nil, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
-+	env := []string{}
+-	return b.Shell(root).run(dir, targetPath, cfgChangedEnv, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
 +	// When -trimpath is used, GOROOT is cleared
 +	if cfg.BuildTrimpath {
-+		env = append(env, "GOROOT=")
++		cfgChangedEnv = append(cfgChangedEnv, "GOROOT=")
 +	} else {
-+		env = append(env, "GOROOT="+cfg.GOROOT)
++		cfgChangedEnv = append(cfgChangedEnv, "GOROOT="+cfg.GOROOT)
 +	}
-+	return b.Shell(root).run(dir, targetPath, env, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
++	return b.Shell(root).run(dir, targetPath, cfgChangedEnv, cfg.BuildToolexec, base.Tool("link"), "-o", targetPath, "-importcfg", importcfg, ldflags)
  }
  
  func (gcToolchain) cc(b *Builder, a *Action, ofile, cfile string) error {
diff --git a/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch b/recipes-devtools/go/go/0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch
similarity index 93%
rename from recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
rename to recipes-devtools/go/go/0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch
index 58bd00f..8cf645c 100644
--- a/recipes-devtools/go/go/6d265b008e3d106b2706645e5a88cd8e2fb98953.patch
+++ b/recipes-devtools/go/go/0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch
@@ -1,7 +1,8 @@
 From 6d265b008e3d106b2706645e5a88cd8e2fb98953 Mon Sep 17 00:00:00 2001
 From: Dirk Müller <dirk@dmllr.de>
 Date: Wed, 09 Mar 2022 17:47:23 +0100
-Subject: [PATCH] cmd/link: stop forcing binutils-gold dependency on aarch64
+Subject: [PATCH 11/11] cmd/link: stop forcing binutils-gold dependency on
+  aarch64
 
 The bfd linker appears to be working just fine at least in version
 2.41 or above. Reject the known broken one instead, which
@@ -21,7 +22,7 @@ diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
 index dfc72e02c0..2a2a304113 100644
 --- a/src/cmd/link/internal/ld/lib.go
 +++ b/src/cmd/link/internal/ld/lib.go
-@@ -1673,27 +1673,6 @@ func (ctxt *Link) hostlink() {
+@@ -1677,27 +1677,6 @@ func (ctxt *Link) hostlink() {
  			// Use lld to avoid errors from default linker (issue #38838)
  			altLinker = "lld"
  		}
diff --git a/recipes-devtools/go/go_1.24.6.bb b/recipes-devtools/go/go_1.25.0.bb
similarity index 100%
rename from recipes-devtools/go/go_1.24.6.bb
rename to recipes-devtools/go/go_1.25.0.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 28/34] conf/layer: switch to golang 1.25
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (26 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 27/34] go: upgrade 1.24.6 -> 1.25.0 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 29/34] go: fix sigaction usage on i386 platforms Peter Marko
                   ` (6 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

This is extra config for mixin layer not needed on master anymore
because there this variable was dropped.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 conf/layer.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/conf/layer.conf b/conf/layer.conf
index f6f17a7..d4c6506 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -14,4 +14,4 @@ LAYERDEPENDS_lts-go-mixin = " \
     core \
 "
 
-GOVERSION = "1.24%"
+GOVERSION = "1.25%"


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 29/34] go: fix sigaction usage on i386 platforms
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (27 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 28/34] conf/layer: switch to golang 1.25 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 30/34] go: upgrade 1.25.0 -> 1.25.1 Peter Marko
                   ` (5 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

From: Randolph Sapp <rs@ti.com>

In upstream the following commit [1] was submitted to resolve issues
with sigaction being used in linked libraries with cgo applications.

runtime: when using cgo on 386, call C sigaction function

This resolves potential segfaults with cgo applications that link to libraries
that intend to switch out signal handlers temporarily with sigaction.

[1] https://github.com/golang/go/commit/c5737dc21bbac9fbefc35ac9313e66291d66b382

(From OE-Core rev: 1bc7a1731b218bb5c8a08c9823c777a40e17555e)

Signed-off-by: Randolph Sapp <rs@ti.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 recipes-devtools/go/go-1.25.0.inc             |   1 +
 ...ng-cgo-on-386-call-C-sigaction-funct.patch | 248 ++++++++++++++++++
 2 files changed, 249 insertions(+)
 create mode 100644 recipes-devtools/go/go/0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch

diff --git a/recipes-devtools/go/go-1.25.0.inc b/recipes-devtools/go/go-1.25.0.inc
index f562fbb..1558b46 100644
--- a/recipes-devtools/go/go-1.25.0.inc
+++ b/recipes-devtools/go/go-1.25.0.inc
@@ -16,5 +16,6 @@ SRC_URI += "\
     file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
     file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
+    file://0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch \
 "
 SRC_URI[main.sha256sum] = "4bd01e91297207bfa450ea40d4d5a93b1b531a5e438473b2a06e18e077227225"
diff --git a/recipes-devtools/go/go/0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch b/recipes-devtools/go/go/0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch
new file mode 100644
index 0000000..33e3b03
--- /dev/null
+++ b/recipes-devtools/go/go/0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch
@@ -0,0 +1,248 @@
+From c5737dc21bbac9fbefc35ac9313e66291d66b382 Mon Sep 17 00:00:00 2001
+From: Ian Lance Taylor <iant@golang.org>
+Date: Fri, 5 Sep 2025 22:24:37 -0700
+Subject: [PATCH] runtime: when using cgo on 386, call C sigaction function
+
+On 386 the C sigaction function assumes that the caller does not set
+the SA_RESTORER flag. It does not copy the C sa_restorer field to
+the kernel sa_restorer field. The effect is that the kernel sees
+the SA_RESTORER flag but a NULL sa_restorer field, and the program
+crashes when returning from a signal handler.
+
+On the other hand, the C sigaction function will return the SA_RESTORER
+flag and the sa_restorer field stored in the kernel.
+
+This means that if the Go runtime installs a signal handler,
+with SA_RESTORER as is required when calling the kernel,
+and the Go program calls C code that calls the C sigaction function
+to query the current signal handler, that C code will get a result
+that it can't pass back to sigaction.
+
+This CL fixes the problem by using the C sigaction function
+for 386 programs that use cgo. This reuses the functionality
+used on amd64 and other GOARCHs to support the race detector.
+
+See #75253, or runtime/testdata/testprogcgo/eintr.go, for sample
+code that used to fail on 386. No new test case is required,
+we just remove the skip we used to have for eintr.go.
+
+Fixes #75253
+
+Change-Id: I803059b1fb9e09e9fbb43f68eccb6a59a92c2991
+Reviewed-on: https://go-review.googlesource.com/c/go/+/701375
+LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
+Reviewed-by: Cherry Mui <cherryyz@google.com>
+Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
+Auto-Submit: Ian Lance Taylor <iant@golang.org>
+Upstream-Status: Backport [https://github.com/golang/go/commit/c5737dc21bbac9fbefc35ac9313e66291d66b382]
+Signed-off-by: Randolph Sapp <rs@ti.com>
+---
+ src/runtime/cgo/gcc_sigaction.c |  8 ++++----
+ src/runtime/cgo/sigaction.go    |  2 +-
+ src/runtime/cgo_sigaction.go    |  6 +++++-
+ src/runtime/crash_cgo_test.go   | 11 -----------
+ src/runtime/os_freebsd.go       |  6 ++++++
+ src/runtime/os_linux.go         | 18 +++++++++++++++++-
+ src/runtime/sigaction.go        |  2 +-
+ src/runtime/sys_linux_386.s     | 19 +++++++++++++++++++
+ 8 files changed, 53 insertions(+), 19 deletions(-)
+
+diff --git a/src/runtime/cgo/gcc_sigaction.c b/src/runtime/cgo/gcc_sigaction.c
+index 7cbef7db11..ad48a88dc1 100644
+--- a/src/runtime/cgo/gcc_sigaction.c
++++ b/src/runtime/cgo/gcc_sigaction.c
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-//go:build linux && (amd64 || arm64 || loong64 || ppc64le)
++//go:build linux && (386 || amd64 || arm64 || loong64 || ppc64le)
+ 
+ #include <errno.h>
+ #include <stddef.h>
+@@ -17,7 +17,7 @@
+ // to and from struct sigaction — are specific to ${goos}/${goarch}.
+ typedef struct {
+ 	uintptr_t handler;
+-	uint64_t flags;
++	unsigned long flags;
+ #ifdef __loongarch__
+ 	uint64_t mask;
+ 	uintptr_t restorer;
+@@ -57,7 +57,7 @@ x_cgo_sigaction(intptr_t signum, const go_sigaction_t *goact, go_sigaction_t *ol
+ 				sigaddset(&act.sa_mask, (int)(i+1));
+ 			}
+ 		}
+-		act.sa_flags = (int)(goact->flags & ~(uint64_t)SA_RESTORER);
++		act.sa_flags = (int)(goact->flags & ~(unsigned long)SA_RESTORER);
+ 	}
+ 
+ 	ret = sigaction((int)signum, goact ? &act : NULL, oldgoact ? &oldact : NULL);
+@@ -79,7 +79,7 @@ x_cgo_sigaction(intptr_t signum, const go_sigaction_t *goact, go_sigaction_t *ol
+ 				oldgoact->mask |= (uint64_t)(1)<<i;
+ 			}
+ 		}
+-		oldgoact->flags = (uint64_t)oldact.sa_flags;
++		oldgoact->flags = (unsigned long)oldact.sa_flags;
+ 	}
+ 
+ 	_cgo_tsan_release();
+diff --git a/src/runtime/cgo/sigaction.go b/src/runtime/cgo/sigaction.go
+index dc3f5fd255..90034bad32 100644
+--- a/src/runtime/cgo/sigaction.go
++++ b/src/runtime/cgo/sigaction.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-//go:build (linux && (amd64 || arm64 || loong64 || ppc64le)) || (freebsd && amd64)
++//go:build (linux && (386 || amd64 || arm64 || loong64 || ppc64le)) || (freebsd && amd64)
+ 
+ package cgo
+ 
+diff --git a/src/runtime/cgo_sigaction.go b/src/runtime/cgo_sigaction.go
+index 5c644587f0..f725dbef4d 100644
+--- a/src/runtime/cgo_sigaction.go
++++ b/src/runtime/cgo_sigaction.go
+@@ -3,8 +3,10 @@
+ // license that can be found in the LICENSE file.
+ 
+ // Support for sanitizers. See runtime/cgo/sigaction.go.
++// Also used on linux/386 to clear the SA_RESTORER flag
++// when using cgo; see issue #75253.
+ 
+-//go:build (linux && (amd64 || arm64 || loong64 || ppc64le)) || (freebsd && amd64)
++//go:build (linux && (386 || amd64 || arm64 || loong64 || ppc64le)) || (freebsd && amd64)
+ 
+ package runtime
+ 
+@@ -42,6 +44,8 @@ func sigaction(sig uint32, new, old *sigactiont) {
+ 
+ 		var ret int32
+ 
++		fixSigactionForCgo(new)
++
+ 		var g *g
+ 		if mainStarted {
+ 			g = getg()
+diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go
+index c5d7303261..b77ff8dafd 100644
+--- a/src/runtime/crash_cgo_test.go
++++ b/src/runtime/crash_cgo_test.go
+@@ -842,17 +842,6 @@ func TestEINTR(t *testing.T) {
+ 	switch runtime.GOOS {
+ 	case "plan9", "windows":
+ 		t.Skipf("no EINTR on %s", runtime.GOOS)
+-	case "linux":
+-		if runtime.GOARCH == "386" {
+-			// On linux-386 the Go signal handler sets
+-			// a restorer function that is not preserved
+-			// by the C sigaction call in the test,
+-			// causing the signal handler to crash when
+-			// returning the normal code. The test is not
+-			// architecture-specific, so just skip on 386
+-			// rather than doing a complicated workaround.
+-			t.Skip("skipping on linux-386; C sigaction does not preserve Go restorer")
+-		}
+ 	}
+ 	if runtime.GOOS == "freebsd" && race.Enabled {
+ 		t.Skipf("race + cgo freebsd not supported. See https://go.dev/issue/73788.")
+diff --git a/src/runtime/os_freebsd.go b/src/runtime/os_freebsd.go
+index ab859cfb47..68d895b95d 100644
+--- a/src/runtime/os_freebsd.go
++++ b/src/runtime/os_freebsd.go
+@@ -457,6 +457,12 @@ func sysSigaction(sig uint32, new, old *sigactiont) {
+ 	}
+ }
+ 
++// fixSigactionForCgo is needed for Linux.
++//
++//go:nosplit
++func fixSigactionForCgo(new *sigactiont) {
++}
++
+ // asmSigaction is implemented in assembly.
+ //
+ //go:noescape
+diff --git a/src/runtime/os_linux.go b/src/runtime/os_linux.go
+index c9d25a5be8..f9fe1b5f33 100644
+--- a/src/runtime/os_linux.go
++++ b/src/runtime/os_linux.go
+@@ -486,7 +486,8 @@ func setsig(i uint32, fn uintptr) {
+ 	sigfillset(&sa.sa_mask)
+ 	// Although Linux manpage says "sa_restorer element is obsolete and
+ 	// should not be used". x86_64 kernel requires it. Only use it on
+-	// x86.
++	// x86. Note that on 386 this is cleared when using the C sigaction
++	// function via cgo; see fixSigactionForCgo.
+ 	if GOARCH == "386" || GOARCH == "amd64" {
+ 		sa.sa_restorer = abi.FuncPCABI0(sigreturn__sigaction)
+ 	}
+@@ -562,6 +563,21 @@ func sysSigaction(sig uint32, new, old *sigactiont) {
+ //go:noescape
+ func rt_sigaction(sig uintptr, new, old *sigactiont, size uintptr) int32
+ 
++// fixSigactionForCgo is called when we are using cgo to call the
++// C sigaction function. On 386 the C function does not expect the
++// SA_RESTORER flag to be set, and in some cases will fail if it is set:
++// it will pass the SA_RESTORER flag to the kernel without passing
++// the sa_restorer field. Since the C function will handle SA_RESTORER
++// for us, we need not pass it. See issue #75253.
++//
++//go:nosplit
++func fixSigactionForCgo(new *sigactiont) {
++	if GOARCH == "386" && new != nil {
++		new.sa_flags &^= _SA_RESTORER
++		new.sa_restorer = 0
++	}
++}
++
+ func getpid() int
+ func tgkill(tgid, tid, sig int)
+ 
+diff --git a/src/runtime/sigaction.go b/src/runtime/sigaction.go
+index 2027ae80bf..1a99f7f3ec 100644
+--- a/src/runtime/sigaction.go
++++ b/src/runtime/sigaction.go
+@@ -2,7 +2,7 @@
+ // Use of this source code is governed by a BSD-style
+ // license that can be found in the LICENSE file.
+ 
+-//go:build (linux && !amd64 && !arm64 && !loong64 && !ppc64le) || (freebsd && !amd64)
++//go:build (linux && !386 && !amd64 && !arm64 && !loong64 && !ppc64le) || (freebsd && !amd64)
+ 
+ package runtime
+ 
+diff --git a/src/runtime/sys_linux_386.s b/src/runtime/sys_linux_386.s
+index d53be243fe..8e832687e0 100644
+--- a/src/runtime/sys_linux_386.s
++++ b/src/runtime/sys_linux_386.s
+@@ -410,6 +410,25 @@ TEXT runtime·rt_sigaction(SB),NOSPLIT,$0
+ 	MOVL	AX, ret+16(FP)
+ 	RET
+ 
++// Call the function stored in _cgo_sigaction using the GCC calling convention.
++TEXT runtime·callCgoSigaction(SB),NOSPLIT,$0-16
++	MOVL	_cgo_sigaction(SB), AX
++	MOVL	sig+0(FP), BX
++	MOVL	new+4(FP), CX
++	MOVL	old+8(FP), DX
++	MOVL	SP, SI // align stack to call C function
++	SUBL	$32, SP
++	ANDL	$~15, SP
++	MOVL	BX, 0(SP)
++	MOVL	CX, 4(SP)
++	MOVL	DX, 8(SP)
++	MOVL	SI, 12(SP)
++	CALL	AX
++	MOVL	12(SP), BX
++	MOVL	BX, SP
++	MOVL	AX, ret+12(FP)
++	RET
++
+ TEXT runtime·sigfwd(SB),NOSPLIT,$12-16
+ 	MOVL	fn+0(FP), AX
+ 	MOVL	sig+4(FP), BX
+-- 
+2.51.0
+


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 30/34] go: upgrade 1.25.0 -> 1.25.1
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (28 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 29/34] go: fix sigaction usage on i386 platforms Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 31/34] go: upgrade 1.25.1 -> 1.25.2 Peter Marko
                   ` (4 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.25.x release [1]:

$ git --no-pager log --oneline go1.25.0..go1.25.1
56ebf80e57 (tag: go1.25.1) [release-branch.go1.25] go1.25.1
b1959cf6f7 [release-branch.go1.25] net/http: require exact match for CrossSiteProtection bypass patterns
cdd8cf4988 [release-branch.go1.25] net: fix WriteMsgUDPAddrPort addr handling on IPv4 sockets
8995e84ac6 [release-branch.go1.25] internal/poll: set the correct file offset in FD.Seek for Windows overlapped handles
749dff880a [release-branch.go1.25] runtime: make all synctest bubble violations fatal panics
21ac81c1e1 [release-branch.go1.25] os/exec: fix incorrect expansion of ".." in LookPath on plan9
c72fcab6d6 [release-branch.go1.25] cmd/go/internal/gover: fix ModIsPrerelease for toolchain versions

Fixes CVE-2025-47910 [2].

[1] https://github.com/golang/go/compare/go1.25.0...go1.25.1
[2] https://groups.google.com/g/golang-announce/c/PtW9VW21NPs

(From OE-Core rev: 34d34fdac49e2a3035e6a1aa3d5e8d1090e91c9f)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.25.0.inc => go-1.25.1.inc}        | 2 +-
 ...o-binary-native_1.25.0.bb => go-binary-native_1.25.1.bb} | 6 +++---
 ...cross-canadian_1.25.0.bb => go-cross-canadian_1.25.1.bb} | 0
 .../go/{go-cross_1.25.0.bb => go-cross_1.25.1.bb}           | 0
 .../go/{go-crosssdk_1.25.0.bb => go-crosssdk_1.25.1.bb}     | 0
 .../go/{go-runtime_1.25.0.bb => go-runtime_1.25.1.bb}       | 0
 recipes-devtools/go/{go_1.25.0.bb => go_1.25.1.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.25.0.inc => go-1.25.1.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.25.0.bb => go-binary-native_1.25.1.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.25.0.bb => go-cross-canadian_1.25.1.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.25.0.bb => go-cross_1.25.1.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.25.0.bb => go-crosssdk_1.25.1.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.25.0.bb => go-runtime_1.25.1.bb} (100%)
 rename recipes-devtools/go/{go_1.25.0.bb => go_1.25.1.bb} (100%)

diff --git a/recipes-devtools/go/go-1.25.0.inc b/recipes-devtools/go/go-1.25.1.inc
similarity index 91%
rename from recipes-devtools/go/go-1.25.0.inc
rename to recipes-devtools/go/go-1.25.1.inc
index 1558b46..ca36cae 100644
--- a/recipes-devtools/go/go-1.25.0.inc
+++ b/recipes-devtools/go/go-1.25.1.inc
@@ -18,4 +18,4 @@ SRC_URI += "\
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
     file://0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch \
 "
-SRC_URI[main.sha256sum] = "4bd01e91297207bfa450ea40d4d5a93b1b531a5e438473b2a06e18e077227225"
+SRC_URI[main.sha256sum] = "d010c109cee94d80efe681eab46bdea491ac906bf46583c32e9f0dbb0bd1a594"
diff --git a/recipes-devtools/go/go-binary-native_1.25.0.bb b/recipes-devtools/go/go-binary-native_1.25.1.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.25.0.bb
rename to recipes-devtools/go/go-binary-native_1.25.1.bb
index 8e61787..5288a1e 100644
--- a/recipes-devtools/go/go-binary-native_1.25.0.bb
+++ b/recipes-devtools/go/go-binary-native_1.25.1.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "2852af0cb20a13139b3448992e69b868e50ed0f8a1e5940ee1de9e19a123b613"
-SRC_URI[go_linux_arm64.sha256sum] = "05de75d6994a2783699815ee553bd5a9327d8b79991de36e38b66862782f54ae"
-SRC_URI[go_linux_ppc64le.sha256sum] = "0f18a89e7576cf2c5fa0b487a1635d9bcbf843df5f110e9982c64df52a983ad0"
+SRC_URI[go_linux_amd64.sha256sum] = "7716a0d940a0f6ae8e1f3b3f4f36299dc53e31b16840dbd171254312c41ca12e"
+SRC_URI[go_linux_arm64.sha256sum] = "65a3e34fb2126f55b34e1edfc709121660e1be2dee6bdf405fc399a63a95a87d"
+SRC_URI[go_linux_ppc64le.sha256sum] = "8b0c8d3ee5b1b5c28b6bd63dc4438792012e01d03b4bf7a61d985c87edab7d1f"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.25.0.bb b/recipes-devtools/go/go-cross-canadian_1.25.1.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.25.0.bb
rename to recipes-devtools/go/go-cross-canadian_1.25.1.bb
diff --git a/recipes-devtools/go/go-cross_1.25.0.bb b/recipes-devtools/go/go-cross_1.25.1.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.25.0.bb
rename to recipes-devtools/go/go-cross_1.25.1.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.25.0.bb b/recipes-devtools/go/go-crosssdk_1.25.1.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.25.0.bb
rename to recipes-devtools/go/go-crosssdk_1.25.1.bb
diff --git a/recipes-devtools/go/go-runtime_1.25.0.bb b/recipes-devtools/go/go-runtime_1.25.1.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.25.0.bb
rename to recipes-devtools/go/go-runtime_1.25.1.bb
diff --git a/recipes-devtools/go/go_1.25.0.bb b/recipes-devtools/go/go_1.25.1.bb
similarity index 100%
rename from recipes-devtools/go/go_1.25.0.bb
rename to recipes-devtools/go/go_1.25.1.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 31/34] go: upgrade 1.25.1 -> 1.25.2
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (29 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 30/34] go: upgrade 1.25.0 -> 1.25.1 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 32/34] go: upgrade 1.25.2 -> 1.25.3 Peter Marko
                   ` (3 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.25.x release [1]:

$ git --no-pager log --oneline go1.25.1..go1.25.2
bed6c81c2d (tag: go1.25.2) [release-branch.go1.25] go1.25.2
2612dcfd3c [release-branch.go1.25] archive/tar: set a limit on the size of GNU sparse file 1.0 regions
90f72bd500 [release-branch.go1.25] encoding/pem: make Decode complexity linear
e0f655bf3f [release-branch.go1.25] encoding/asn1: prevent memory exhaustion when parsing using internal/saferio
100c5a6680 [release-branch.go1.25] net/http: add httpcookiemaxnum GODEBUG option to limit number of cookies parsed
f0c69db15a [release-branch.go1.25] crypto/x509: improve domain name verification
9fd3ac8a10 [release-branch.go1.25] net/url: enforce stricter parsing of bracketed IPv6 hostnames
5d7a787aa2 [release-branch.go1.25] net/textproto: avoid quadratic complexity in Reader.ReadResponse
930ce220d0 [release-branch.go1.25] crypto/x509: mitigate DoS vector when intermediate certificate contains DSA public key
6a057327cf [release-branch.go1.25] net/mail: avoid quadratic behavior in mail address parsing
66f6feaa53 [release-branch.go1.25] spec: revert "update spec date to match release date"
d6f2741248 [release-branch.go1.25] spec: update spec date to match release date
28ac8d2104 [release-branch.go1.25] net/http: avoid connCount underflow race
06993c7721 [release-branch.go1.25] context: don't return a non-nil from Err before Done is closed
0b53e410f8 [release-branch.go1.25] debug/pe: permit symbols with no name
7735dc90ed [release-branch.go1.25] cmd/compile: don't rely on loop info when there are irreducible loops
205d086595 [release-branch.go1.25] crypto/tls: quote protocols in ALPN error message
16fdaac4b1 [release-branch.go1.25] sync/atomic: correct Uintptr.Or return doc
f3dc4aac0b [release-branch.go1.25] runtime: initialise debug settings much earlier in startup process
79c3081b4b [release-branch.go1.25] internal/poll: don't call Seek for overlapped Windows handles
b816c79658 [release-branch.go1.25] lib/fips140: re-seal v1.0.0
90de3b3399 [release-branch.go1.25] crypto/internal/fips140: remove key import PCTs, make keygen PCTs fatal
bec452a3a2 [release-branch.go1.25] crypto/internal/fips140: update frozen module version to "v1.0.0"
57bd28ab7f [release-branch.go1.25] crypto/internal/fips140/ecdsa: make TestingOnlyNewDRBG generic
f75bcffa4a [release-branch.go1.25] os: set full name for Roots created with Root.OpenRoot
7d570090a9 [release-branch.go1.25] os: fix Root.MkdirAll to handle race of directory creation
be61132165 [release-branch.go1.25] cmd/compile: export to DWARF types only referenced through interfaces
a86792b169 [release-branch.go1.25] net: skip TestIPv4WriteMsgUDPAddrPort on plan9
879e3cb5f7 [release-branch.go1.25] runtime: lock mheap_.speciallock when allocating synctest specials

Fixes CVE-2025-61725, CVE-2025-58187, CVE-2025-58189, CVE-2025-61723,
      CVE-2025-47912, CVE-2025-58185, CVE-2025-58186, CVE-2025-58188,
      CVE-2025-58183 and CVE-2025-61724 [2].

[1] https://github.com/golang/go/compare/go1.25.1...go1.25.2
[2] https://groups.google.com/g/golang-announce/c/4Emdl2iQ_bI

(From OE-Core rev: b46e8fdfc23a575ee8c69c136c7815e366a7e904)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.25.1.inc => go-1.25.2.inc}        | 2 +-
 ...o-binary-native_1.25.1.bb => go-binary-native_1.25.2.bb} | 6 +++---
 ...cross-canadian_1.25.1.bb => go-cross-canadian_1.25.2.bb} | 0
 .../go/{go-cross_1.25.1.bb => go-cross_1.25.2.bb}           | 0
 .../go/{go-crosssdk_1.25.1.bb => go-crosssdk_1.25.2.bb}     | 0
 .../go/{go-runtime_1.25.1.bb => go-runtime_1.25.2.bb}       | 0
 recipes-devtools/go/{go_1.25.1.bb => go_1.25.2.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.25.1.inc => go-1.25.2.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.25.1.bb => go-binary-native_1.25.2.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.25.1.bb => go-cross-canadian_1.25.2.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.25.1.bb => go-cross_1.25.2.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.25.1.bb => go-crosssdk_1.25.2.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.25.1.bb => go-runtime_1.25.2.bb} (100%)
 rename recipes-devtools/go/{go_1.25.1.bb => go_1.25.2.bb} (100%)

diff --git a/recipes-devtools/go/go-1.25.1.inc b/recipes-devtools/go/go-1.25.2.inc
similarity index 91%
rename from recipes-devtools/go/go-1.25.1.inc
rename to recipes-devtools/go/go-1.25.2.inc
index ca36cae..9d1cf69 100644
--- a/recipes-devtools/go/go-1.25.1.inc
+++ b/recipes-devtools/go/go-1.25.2.inc
@@ -18,4 +18,4 @@ SRC_URI += "\
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
     file://0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch \
 "
-SRC_URI[main.sha256sum] = "d010c109cee94d80efe681eab46bdea491ac906bf46583c32e9f0dbb0bd1a594"
+SRC_URI[main.sha256sum] = "3711140cfb87fce8f7a13f7cd860df041e6c12f7610f40cac6ec6fa2b65e96e4"
diff --git a/recipes-devtools/go/go-binary-native_1.25.1.bb b/recipes-devtools/go/go-binary-native_1.25.2.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.25.1.bb
rename to recipes-devtools/go/go-binary-native_1.25.2.bb
index 5288a1e..2e5abbe 100644
--- a/recipes-devtools/go/go-binary-native_1.25.1.bb
+++ b/recipes-devtools/go/go-binary-native_1.25.2.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "7716a0d940a0f6ae8e1f3b3f4f36299dc53e31b16840dbd171254312c41ca12e"
-SRC_URI[go_linux_arm64.sha256sum] = "65a3e34fb2126f55b34e1edfc709121660e1be2dee6bdf405fc399a63a95a87d"
-SRC_URI[go_linux_ppc64le.sha256sum] = "8b0c8d3ee5b1b5c28b6bd63dc4438792012e01d03b4bf7a61d985c87edab7d1f"
+SRC_URI[go_linux_amd64.sha256sum] = "d7fa7f8fbd16263aa2501d681b11f972a5fd8e811f7b10cb9b26d031a3d7454b"
+SRC_URI[go_linux_arm64.sha256sum] = "9aaeb044bf8dbf50ca2fbf0edc5ebc98b90d5bda8c6b2911526df76f61232919"
+SRC_URI[go_linux_ppc64le.sha256sum] = "91dd35ac3f33baa642d9bac22b626bdb5ee0372cf80e7d782994337f81f34417"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.25.1.bb b/recipes-devtools/go/go-cross-canadian_1.25.2.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.25.1.bb
rename to recipes-devtools/go/go-cross-canadian_1.25.2.bb
diff --git a/recipes-devtools/go/go-cross_1.25.1.bb b/recipes-devtools/go/go-cross_1.25.2.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.25.1.bb
rename to recipes-devtools/go/go-cross_1.25.2.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.25.1.bb b/recipes-devtools/go/go-crosssdk_1.25.2.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.25.1.bb
rename to recipes-devtools/go/go-crosssdk_1.25.2.bb
diff --git a/recipes-devtools/go/go-runtime_1.25.1.bb b/recipes-devtools/go/go-runtime_1.25.2.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.25.1.bb
rename to recipes-devtools/go/go-runtime_1.25.2.bb
diff --git a/recipes-devtools/go/go_1.25.1.bb b/recipes-devtools/go/go_1.25.2.bb
similarity index 100%
rename from recipes-devtools/go/go_1.25.1.bb
rename to recipes-devtools/go/go_1.25.2.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 32/34] go: upgrade 1.25.2 -> 1.25.3
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (30 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 31/34] go: upgrade 1.25.1 -> 1.25.2 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format Peter Marko
                   ` (2 subsequent siblings)
  34 siblings, 0 replies; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Upgrade to latest 1.25.x release [1]:

$ git --no-pager log --oneline go1.25.2..go1.25.3
28622c1959 (tag: go1.25.3) [release-branch.go1.25] go1.25.3
e05b2c92d9 [release-branch.go1.25] crypto/x509: rework fix for CVE-2025-58187
79ec0c94f3 [release-branch.go1.25] spec: update spec date to match release date

This release addresses breakage caused by a security patch included in Go 1.25.2
and 1.24.8, which enforced overly restrictive validation on the parsing of X.509
certificates. We've removed those restrictions while maintaining the security
fix that the initial release addressed [2].

[1] https://github.com/golang/go/compare/go1.25.2...go1.25.3
[2] https://groups.google.com/g/golang-announce/c/YEyj6FUNbik

(From OE-Core rev: d5f281bf13995117d98af809a2caea91e241713e)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 recipes-devtools/go/{go-1.25.2.inc => go-1.25.3.inc}        | 2 +-
 ...o-binary-native_1.25.2.bb => go-binary-native_1.25.3.bb} | 6 +++---
 ...cross-canadian_1.25.2.bb => go-cross-canadian_1.25.3.bb} | 0
 .../go/{go-cross_1.25.2.bb => go-cross_1.25.3.bb}           | 0
 .../go/{go-crosssdk_1.25.2.bb => go-crosssdk_1.25.3.bb}     | 0
 .../go/{go-runtime_1.25.2.bb => go-runtime_1.25.3.bb}       | 0
 recipes-devtools/go/{go_1.25.2.bb => go_1.25.3.bb}          | 0
 7 files changed, 4 insertions(+), 4 deletions(-)
 rename recipes-devtools/go/{go-1.25.2.inc => go-1.25.3.inc} (91%)
 rename recipes-devtools/go/{go-binary-native_1.25.2.bb => go-binary-native_1.25.3.bb} (79%)
 rename recipes-devtools/go/{go-cross-canadian_1.25.2.bb => go-cross-canadian_1.25.3.bb} (100%)
 rename recipes-devtools/go/{go-cross_1.25.2.bb => go-cross_1.25.3.bb} (100%)
 rename recipes-devtools/go/{go-crosssdk_1.25.2.bb => go-crosssdk_1.25.3.bb} (100%)
 rename recipes-devtools/go/{go-runtime_1.25.2.bb => go-runtime_1.25.3.bb} (100%)
 rename recipes-devtools/go/{go_1.25.2.bb => go_1.25.3.bb} (100%)

diff --git a/recipes-devtools/go/go-1.25.2.inc b/recipes-devtools/go/go-1.25.3.inc
similarity index 91%
rename from recipes-devtools/go/go-1.25.2.inc
rename to recipes-devtools/go/go-1.25.3.inc
index 9d1cf69..c29f4d6 100644
--- a/recipes-devtools/go/go-1.25.2.inc
+++ b/recipes-devtools/go/go-1.25.3.inc
@@ -18,4 +18,4 @@ SRC_URI += "\
     file://0011-cmd-link-stop-forcing-binutils-gold-dependency-on-aa.patch \
     file://0001-runtime-when-using-cgo-on-386-call-C-sigaction-funct.patch \
 "
-SRC_URI[main.sha256sum] = "3711140cfb87fce8f7a13f7cd860df041e6c12f7610f40cac6ec6fa2b65e96e4"
+SRC_URI[main.sha256sum] = "a81a4ba593d0015e10c51e267de3ff07c7ac914dfca037d9517d029517097795"
diff --git a/recipes-devtools/go/go-binary-native_1.25.2.bb b/recipes-devtools/go/go-binary-native_1.25.3.bb
similarity index 79%
rename from recipes-devtools/go/go-binary-native_1.25.2.bb
rename to recipes-devtools/go/go-binary-native_1.25.3.bb
index 2e5abbe..3f939ca 100644
--- a/recipes-devtools/go/go-binary-native_1.25.2.bb
+++ b/recipes-devtools/go/go-binary-native_1.25.3.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
 
 # Checksums available at https://go.dev/dl/
 SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "d7fa7f8fbd16263aa2501d681b11f972a5fd8e811f7b10cb9b26d031a3d7454b"
-SRC_URI[go_linux_arm64.sha256sum] = "9aaeb044bf8dbf50ca2fbf0edc5ebc98b90d5bda8c6b2911526df76f61232919"
-SRC_URI[go_linux_ppc64le.sha256sum] = "91dd35ac3f33baa642d9bac22b626bdb5ee0372cf80e7d782994337f81f34417"
+SRC_URI[go_linux_amd64.sha256sum] = "0335f314b6e7bfe08c3d0cfaa7c19db961b7b99fb20be62b0a826c992ad14e0f"
+SRC_URI[go_linux_arm64.sha256sum] = "1d42ebc84999b5e2069f5e31b67d6fc5d67308adad3e178d5a2ee2c9ff2001f5"
+SRC_URI[go_linux_ppc64le.sha256sum] = "68d1a08bf3567f330717d821b266a0be1c5080bd05dc238b5a43a24ca0c47d7c"
 
 UPSTREAM_CHECK_URI = "https://golang.org/dl/"
 UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/recipes-devtools/go/go-cross-canadian_1.25.2.bb b/recipes-devtools/go/go-cross-canadian_1.25.3.bb
similarity index 100%
rename from recipes-devtools/go/go-cross-canadian_1.25.2.bb
rename to recipes-devtools/go/go-cross-canadian_1.25.3.bb
diff --git a/recipes-devtools/go/go-cross_1.25.2.bb b/recipes-devtools/go/go-cross_1.25.3.bb
similarity index 100%
rename from recipes-devtools/go/go-cross_1.25.2.bb
rename to recipes-devtools/go/go-cross_1.25.3.bb
diff --git a/recipes-devtools/go/go-crosssdk_1.25.2.bb b/recipes-devtools/go/go-crosssdk_1.25.3.bb
similarity index 100%
rename from recipes-devtools/go/go-crosssdk_1.25.2.bb
rename to recipes-devtools/go/go-crosssdk_1.25.3.bb
diff --git a/recipes-devtools/go/go-runtime_1.25.2.bb b/recipes-devtools/go/go-runtime_1.25.3.bb
similarity index 100%
rename from recipes-devtools/go/go-runtime_1.25.2.bb
rename to recipes-devtools/go/go-runtime_1.25.3.bb
diff --git a/recipes-devtools/go/go_1.25.2.bb b/recipes-devtools/go/go_1.25.3.bb
similarity index 100%
rename from recipes-devtools/go/go_1.25.2.bb
rename to recipes-devtools/go/go_1.25.3.bb


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (31 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 32/34] go: upgrade 1.25.2 -> 1.25.3 Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-13 13:07   ` [yocto-patches] " Gyorgy Sarvari
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter Peter Marko
  2025-11-14 11:46 ` [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Jose Quaresma
  34 siblings, 1 reply; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Changes are inspired by scarthgap/rust README.md file.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 README    | 15 ---------------
 README.md | 43 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 15 deletions(-)
 delete mode 100644 README
 create mode 100644 README.md

diff --git a/README b/README
deleted file mode 100644
index 9e270f2..0000000
--- a/README
+++ /dev/null
@@ -1,15 +0,0 @@
-"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
-
-At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
-and officially Kirkstone supports only that. This thin special-purpose mixin
-layer is meant to address this issue by backporting Go recipes from the master
-branch of openembedded-core.
-
-The patches can be backport from openembedded-core with:
-
- git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \
- git am --signoff -p4 --directory=recipes-devtools/go
-
-Maintainers:
-Jose Quaresma <jose.quaresma@foundries.io>
-Peter Marko <peter.marko@siemens.com>
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e316fc6
--- /dev/null
+++ b/README.md
@@ -0,0 +1,43 @@
+meta-mixins-lts - scarthgap/go
+==============================
+
+"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
+
+At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
+and officially Kirkstone supports only that. This thin special-purpose mixin
+layer is meant to address this issue by backporting Go recipes from the master
+branch of openembedded-core.
+
+Dependencies
+------------
+
+This layer depends on:
+
+- URI: git://github.com/openembedded/openembedded-core.git  
+  layers: meta  
+  branch: scarthgap
+
+Contributing
+------------
+
+The patches can be backported from openembedded-core with:
+
+ git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \
+ git am --signoff -p4 --directory=recipes-devtools/go
+
+The yocto-patches mailinglist (yocto-patches@lists.yoctoproject.org) is used
+for questions, comments and patch review. It is subscriber only, so please
+register before posting.
+
+Send pull requests to yocto-patches@lists.yoctoproject.org with
+'[meta-lts-mixins][scarthgap/rust]' in the subject.
+
+When sending single patches, please use something like:
+git send-email -M -1 --to=yocto-patches@lists.yoctoproject.org --subject-prefix='meta-lts-mixins][scarthgap/go][PATCH'
+
+Maintenance
+-----------
+
+Layer maintainers:
+* Jose Quaresma <jose.quaresma@foundries.io>
+* Peter Marko <peter.marko@siemens.com>


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (32 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format Peter Marko
@ 2025-11-13 12:57 ` Peter Marko
  2025-11-14 11:37   ` [yocto-patches] " Jose Quaresma
  2025-11-14 11:46 ` [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Jose Quaresma
  34 siblings, 1 reply; 41+ messages in thread
From: Peter Marko @ 2025-11-13 12:57 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

Describe QA done when accepting patches.

Note that oe-selftest fail when additional parameters (like -j) is not
present. When that is fixed, we can simplify the oe-selftest QA example.

Expected results:
* runtime
RESULTS - go.GoCompileTest.test_go_compile: PASSED (67.87s)
RESULTS - go.GoCompileTest.test_go_module: PASSED (6.17s)
RESULTS - go.GoHelloworldTest.test_gohelloworld: PASSED (1.24s)
RESULTS - ping.PingTest.test_ping: PASSED (0.02s)
RESULTS - ssh.SSHTest.test_ssh: PASSED (0.67s)
* sdk
RESULTS - go.GoCompileTest.test_go_build: PASSED (0.35s)
RESULTS - go.GoCompileTest.test_go_module: PASSED (0.33s)
RESULTS - go.GoHostCompileTest.test_go_cross_compile: PASSED (0.22s)
RESULTS - go.GoHostCompileTest.test_go_module_cross_compile: PASSED (0.37s)
* oe-selftest
2025-11-13 11:55:23,485 - oe-selftest - INFO - gotoolchain.oeGoToolchainSelfTest.test_go_dep_build (subunit.RemotedTestCase)
2025-11-13 11:55:23,485 - oe-selftest - INFO -  ... ok
2025-11-13 11:55:23,485 - oe-selftest - INFO - 0: 1/1 1/1 (3.17s) (0 failed) (gotoolchain.oeGoToolchainSelfTest.test_go_dep_build)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
 README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/README.md b/README.md
index e316fc6..06a948d 100644
--- a/README.md
+++ b/README.md
@@ -41,3 +41,47 @@ Maintenance
 Layer maintainers:
 * Jose Quaresma <jose.quaresma@foundries.io>
 * Peter Marko <peter.marko@siemens.com>
+
+Quality Assurance
+-----------------
+
+QA tests are using original openembedded-core testsuites.
+Current plan is to backport QA test changes to openembedded-core scarthgap branch.
+When that is no longer possible, changes will picked here.
+
+Automated tests to verify go toolchain functionality are being executed with following configurations and commands:
+
+* OEQA runtime
+
+    ```
+    IMAGE_INSTALL:append = " packagegroup-core-ssh-dropbear go-helloworld packagegroup-go-sdk-target"
+    IMAGE_CLASSES += "testimage"
+    TEST_SUITES = "ping ssh go"
+    QB_MEM = "-m 2048"
+    ```
+
+    ```
+    bitbake core-image-minimal && bitbake core-image-minimal:do_testimage
+    ```
+
+* OEQA SDK
+
+    ```
+    IMAGE_CLASSES += "testimage"
+    SDK_TOOLCHAIN_LANGS = "go"
+    TESTSDK_SUITES = "go"
+    ```
+
+    ```
+    bitbake core-image-minimal:do_populate_sdk && bitbake core-image-minimal:do_testsdk
+    ```
+
+* OEQA selftest
+
+    ```
+    SANITY_TESTED_DISTROS = ""
+    ```
+
+    ```
+    oe-selftest -r gotoolchain -j $(grep -c ^processor /proc/cpuinfo)
+    ```


^ permalink raw reply related	[flat|nested] 41+ messages in thread

* Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format Peter Marko
@ 2025-11-13 13:07   ` Gyorgy Sarvari
  2025-11-13 14:46     ` Marko, Peter
  0 siblings, 1 reply; 41+ messages in thread
From: Gyorgy Sarvari @ 2025-11-13 13:07 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

On 11/13/25 13:57, Peter Marko via lists.yoctoproject.org wrote:
> Changes are inspired by scarthgap/rust README.md file.
>
> Signed-off-by: Peter Marko <peter.marko@siemens.com>
> ---
>  README    | 15 ---------------
>  README.md | 43 +++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 43 insertions(+), 15 deletions(-)
>  delete mode 100644 README
>  create mode 100644 README.md
>
> diff --git a/README b/README
> deleted file mode 100644
> index 9e270f2..0000000
> --- a/README
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
> -
> -At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
> -and officially Kirkstone supports only that. This thin special-purpose mixin
> -layer is meant to address this issue by backporting Go recipes from the master
> -branch of openembedded-core.
> -
> -The patches can be backport from openembedded-core with:
> -
> - git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \
> - git am --signoff -p4 --directory=recipes-devtools/go
> -
> -Maintainers:
> -Jose Quaresma <jose.quaresma@foundries.io>
> -Peter Marko <peter.marko@siemens.com>
> diff --git a/README.md b/README.md
> new file mode 100644
> index 0000000..e316fc6
> --- /dev/null
> +++ b/README.md
> @@ -0,0 +1,43 @@
> +meta-mixins-lts - scarthgap/go
> +==============================
> +
> +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
> +
> +At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
> +and officially Kirkstone supports only that. This thin special-purpose mixin
> +layer is meant to address this issue by backporting Go recipes from the master
> +branch of openembedded-core.

The above paragraph refers to Kirkstone instead of Scarthgap

> +
> +Dependencies
> +------------
> +
> +This layer depends on:
> +
> +- URI: git://github.com/openembedded/openembedded-core.git  
> +  layers: meta  
> +  branch: scarthgap
> +
> +Contributing
> +------------
> +
> +The patches can be backported from openembedded-core with:
> +
> + git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \
> + git am --signoff -p4 --directory=recipes-devtools/go
> +
> +The yocto-patches mailinglist (yocto-patches@lists.yoctoproject.org) is used
> +for questions, comments and patch review. It is subscriber only, so please
> +register before posting.
> +
> +Send pull requests to yocto-patches@lists.yoctoproject.org with
> +'[meta-lts-mixins][scarthgap/rust]' in the subject.

rust -> go

> +
> +When sending single patches, please use something like:
> +git send-email -M -1 --to=yocto-patches@lists.yoctoproject.org --subject-prefix='meta-lts-mixins][scarthgap/go][PATCH'
> +
> +Maintenance
> +-----------
> +
> +Layer maintainers:
> +* Jose Quaresma <jose.quaresma@foundries.io>
> +* Peter Marko <peter.marko@siemens.com>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#2539): https://lists.yoctoproject.org/g/yocto-patches/message/2539
> Mute This Topic: https://lists.yoctoproject.org/mt/116273426/6084445
> Group Owner: yocto-patches+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto-patches/leave/14038302/6084445/1344600526/xyzzy [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>



^ permalink raw reply	[flat|nested] 41+ messages in thread

* RE: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format
  2025-11-13 13:07   ` [yocto-patches] " Gyorgy Sarvari
@ 2025-11-13 14:46     ` Marko, Peter
  0 siblings, 0 replies; 41+ messages in thread
From: Marko, Peter @ 2025-11-13 14:46 UTC (permalink / raw)
  To: Gyorgy Sarvari, yocto-patches@lists.yoctoproject.org
  Cc: jose.quaresma@foundries.io



> -----Original Message-----
> From: Gyorgy Sarvari <skandigraun@gmail.com>
> Sent: Thursday, November 13, 2025 14:07
> To: yocto-patches@lists.yoctoproject.org
> Cc: Marko, Peter (FT D EU SK BFS1) <Peter.Marko@siemens.com>;
> jose.quaresma@foundries.io
> Subject: Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34]
> readme: update to markdown format
> 
> On 11/13/25 13:57, Peter Marko via lists.yoctoproject.org wrote:
> > Changes are inspired by scarthgap/rust README.md file.
> >
> > Signed-off-by: Peter Marko <peter.marko@siemens.com>
> > ---
> >  README    | 15 ---------------
> >  README.md | 43 +++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 43 insertions(+), 15 deletions(-)
> >  delete mode 100644 README
> >  create mode 100644 README.md
> >
> > diff --git a/README b/README
> > deleted file mode 100644
> > index 9e270f2..0000000
> > --- a/README
> > +++ /dev/null
> > @@ -1,15 +0,0 @@
> > -"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS.
> > -
> > -At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
> > -and officially Kirkstone supports only that. This thin special-purpose mixin
> > -layer is meant to address this issue by backporting Go recipes from the master
> > -branch of openembedded-core.
> > -
> > -The patches can be backport from openembedded-core with:
> > -
> > - git -C ../openembedded-core format-patch --stdout -1 origin/master
> meta/recipes-devtools/go | \
> > - git am --signoff -p4 --directory=recipes-devtools/go
> > -
> > -Maintainers:
> > -Jose Quaresma <jose.quaresma@foundries.io>
> > -Peter Marko <peter.marko@siemens.com>
> > diff --git a/README.md b/README.md
> > new file mode 100644
> > index 0000000..e316fc6
> > --- /dev/null
> > +++ b/README.md
> > @@ -0,0 +1,43 @@
> > +meta-mixins-lts - scarthgap/go
> > +==============================
> > +
> > +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project
> LTS.
> > +
> > +At the time Kirkstone was released in April 2024, Go 1.22 was the latest version
> > +and officially Kirkstone supports only that. This thin special-purpose mixin
> > +layer is meant to address this issue by backporting Go recipes from the master
> > +branch of openembedded-core.
> 
> The above paragraph refers to Kirkstone instead of Scarthgap
> 

Not sure how this happened.
I remember digging out new versions and dates...

Thanks for noticing, will be fixed when I send the next draft or final proposal.

> > +
> > +Dependencies
> > +------------
> > +
> > +This layer depends on:
> > +
> > +- URI: git://github.com/openembedded/openembedded-core.git
> > +  layers: meta
> > +  branch: scarthgap
> > +
> > +Contributing
> > +------------
> > +
> > +The patches can be backported from openembedded-core with:
> > +
> > + git -C ../openembedded-core format-patch --stdout -1 origin/master
> meta/recipes-devtools/go | \
> > + git am --signoff -p4 --directory=recipes-devtools/go
> > +
> > +The yocto-patches mailinglist (yocto-patches@lists.yoctoproject.org) is used
> > +for questions, comments and patch review. It is subscriber only, so please
> > +register before posting.
> > +
> > +Send pull requests to yocto-patches@lists.yoctoproject.org with
> > +'[meta-lts-mixins][scarthgap/rust]' in the subject.
> 
> rust -> go
> 
> > +
> > +When sending single patches, please use something like:
> > +git send-email -M -1 --to=yocto-patches@lists.yoctoproject.org --subject-
> prefix='meta-lts-mixins][scarthgap/go][PATCH'
> > +
> > +Maintenance
> > +-----------
> > +
> > +Layer maintainers:
> > +* Jose Quaresma <jose.quaresma@foundries.io>
> > +* Peter Marko <peter.marko@siemens.com>
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#2539): https://lists.yoctoproject.org/g/yocto-
> patches/message/2539
> > Mute This Topic: https://lists.yoctoproject.org/mt/116273426/6084445
> > Group Owner: yocto-patches+owner@lists.yoctoproject.org
> > Unsubscribe: https://lists.yoctoproject.org/g/yocto-
> patches/leave/14038302/6084445/1344600526/xyzzy [skandigraun@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
> >


^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter Peter Marko
@ 2025-11-14 11:37   ` Jose Quaresma
  2025-11-14 11:55     ` Marko, Peter
  0 siblings, 1 reply; 41+ messages in thread
From: Jose Quaresma @ 2025-11-14 11:37 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

[-- Attachment #1: Type: text/plain, Size: 3580 bytes --]

Peter Marko via lists.yoctoproject.org <peter.marko=
siemens.com@lists.yoctoproject.org> escreveu (quinta, 13/11/2025 à(s)
12:57):

> Describe QA done when accepting patches.
>
> Note that oe-selftest fail when additional parameters (like -j) is not
> present. When that is fixed, we can simplify the oe-selftest QA example.
>
> Expected results:
> * runtime
> RESULTS - go.GoCompileTest.test_go_compile: PASSED (67.87s)
> RESULTS - go.GoCompileTest.test_go_module: PASSED (6.17s)
> RESULTS - go.GoHelloworldTest.test_gohelloworld: PASSED (1.24s)
> RESULTS - ping.PingTest.test_ping: PASSED (0.02s)
> RESULTS - ssh.SSHTest.test_ssh: PASSED (0.67s)
> * sdk
> RESULTS - go.GoCompileTest.test_go_build: PASSED (0.35s)
> RESULTS - go.GoCompileTest.test_go_module: PASSED (0.33s)
> RESULTS - go.GoHostCompileTest.test_go_cross_compile: PASSED (0.22s)
> RESULTS - go.GoHostCompileTest.test_go_module_cross_compile: PASSED (0.37s)
> * oe-selftest
> 2025-11-13 11:55:23,485 - oe-selftest - INFO -
> gotoolchain.oeGoToolchainSelfTest.test_go_dep_build
> (subunit.RemotedTestCase)
> 2025-11-13 11:55:23,485 - oe-selftest - INFO -  ... ok
> 2025-11-13 11:55:23,485 - oe-selftest - INFO - 0: 1/1 1/1 (3.17s) (0
> failed) (gotoolchain.oeGoToolchainSelfTest.test_go_dep_build)
>
> Signed-off-by: Peter Marko <peter.marko@siemens.com>
> ---
>  README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git a/README.md b/README.md
> index e316fc6..06a948d 100644
> --- a/README.md
> +++ b/README.md
> @@ -41,3 +41,47 @@ Maintenance
>  Layer maintainers:
>  * Jose Quaresma <jose.quaresma@foundries.io>
>  * Peter Marko <peter.marko@siemens.com>
> +
> +Quality Assurance
> +-----------------
> +
> +QA tests are using original openembedded-core testsuites.
> +Current plan is to backport QA test changes to openembedded-core
> scarthgap branch.
> +When that is no longer possible, changes will picked here.
> +
> +Automated tests to verify go toolchain functionality are being executed
> with following configurations and commands:
> +
> +* OEQA runtime
> +
> +    ```
> +    IMAGE_INSTALL:append = " packagegroup-core-ssh-dropbear go-helloworld
> packagegroup-go-sdk-target"
>

Is the go-helloworld running automatically or does it need to be launched
manually?

Jose


> +    IMAGE_CLASSES += "testimage"
> +    TEST_SUITES = "ping ssh go"
> +    QB_MEM = "-m 2048"
> +    ```
> +
> +    ```
> +    bitbake core-image-minimal && bitbake core-image-minimal:do_testimage
> +    ```
> +
> +* OEQA SDK
> +
> +    ```
> +    IMAGE_CLASSES += "testimage"
> +    SDK_TOOLCHAIN_LANGS = "go"
> +    TESTSDK_SUITES = "go"
> +    ```
> +
> +    ```
> +    bitbake core-image-minimal:do_populate_sdk && bitbake
> core-image-minimal:do_testsdk
> +    ```
> +
> +* OEQA selftest
> +
> +    ```
> +    SANITY_TESTED_DISTROS = ""
> +    ```
> +
> +    ```
> +    oe-selftest -r gotoolchain -j $(grep -c ^processor /proc/cpuinfo)
> +    ```
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#2533):
> https://lists.yoctoproject.org/g/yocto-patches/message/2533
> Mute This Topic: https://lists.yoctoproject.org/mt/116273420/5052612
> Group Owner: yocto-patches+owner@lists.yoctoproject.org
> Unsubscribe:
> https://lists.yoctoproject.org/g/yocto-patches/leave/13170708/5052612/1504338242/xyzzy
> [quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
>

-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 5279 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version
  2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
                   ` (33 preceding siblings ...)
  2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter Peter Marko
@ 2025-11-14 11:46 ` Jose Quaresma
  34 siblings, 0 replies; 41+ messages in thread
From: Jose Quaresma @ 2025-11-14 11:46 UTC (permalink / raw)
  To: yocto-patches; +Cc: peter.marko, jose.quaresma

[-- Attachment #1: Type: text/plain, Size: 5708 bytes --]

Hi Peter,

Very nice work putting all of that in place and much better than the
kirkstone/go.
I will try to help in any way I can with the maintenance of the layer.

Thank you very much for the hard work.

Jose

Peter Marko via lists.yoctoproject.org <peter.marko=
siemens.com@lists.yoctoproject.org> escreveu (quinta, 13/11/2025 à(s)
12:57):

> Hello everyone,
>
> here is initial draft of meta-lts-mixins scarthgap/go branch.
> Compared to kirkstone/go this now also contains proper testing.
> Functionality is I think equivalent to current kirsktone/go branch.
>
> Note that the testing depends on not-yet-merged series
>   https://lists.openembedded.org/g/openembedded-core/message/226238
>
> Creation notes:
> * base commit copied from kirkstone/go branch
>   * adapted release name and removed obsolete lines from layer.conf
> * all recipe changes from master were picked into this series except those
> not suitable for scarthgap
>   * 7321cc17ae5483f17fe9cdffea7b62acd9d9c3a2 meta: set S to be in
> UNPACKDIR in recipes that explicitly set
>   * 4ccc3bc8266c327bcc18c9a3faf7536210dfb9f0 classes/recipes: Switch
> virtual/XXX-gcc to virtual/cross-cc (and c++/binutils)
> * all test changes from master were submitted as backports to
> openembedded-core (link above)
> * 3 patches were sent to openembedded master branch upstream based on
> testing and file comparison
>   * https://lists.openembedded.org/g/openembedded-core/message/226226
> oeqa: fix package detection in go sdk tests
>   * https://lists.openembedded.org/g/openembedded-core/message/226231
> go-helloworld: fix license
>   * https://lists.openembedded.org/g/openembedded-core/message/226237
> oeqa: drop unnecessary dependency from go runtime tests
> * class/lib changes between scarthgap and master are following:
>   * $ git log --oneline
> 8f46f60a703defc3e74adad382320c129cef0b06..origin/master -- \
>         meta/classes/go-vendor.bbclass meta/classes-recipe/go.bbclass \
>         meta/classes-recipe/goarch.bbclass
> meta/classes-recipe/go-mod.bbclass \
>         meta/classes-recipe/go-ptest.bbclass
> meta/classes-recipe/go-mod-update-modules.bbclass
>     26368cfb91 go-mod-update-modules.bbclass: Update license finding
>     cfff8e9682 goarch.bbclass: do not leak TUNE_FEATURES into crosssdk
> task signatures
>     0aa406d058 recipetool/create_go: proxy module fetching to
> go-mod-update-modules
>     34bb889ffa classes/go-mod-update-modules: add class to generate module
> list
>     5f8218c626 go-mod.bbclass: Calculate GO_MOD_CACHE_DIR relative to
> ${UNPACKDIR}
>     374a91204b go: Check if GO_IMPORT is set in recipe and error if not
>     791ab77ac0 go: remove support for GOROOT_FINAL
>     30ea609d33 meta/meta-selftest: Fix variable assignment whitespace
>     6c4e3206b6 classes: go-vendor: Change symlink creation.
>     fc4f589cc7 go-vendor: Fix absolute paths issue
>     114fe16f96 classes/go-vendor: Use UNPACKDIR instead of WORKDIR
>     35496654db go-mod.bbclass: Unpack module dependency license files
>     287daff0bb go-mod.bbclass: Set GO_MOD_CACHE_DIR
>     cc4ec43a2b go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX
>   * there are mostly changes to directory layout, fetching and style or
> new go-mod-update-modules class
>   * GOROOT_FINAL can be kept as unused variable like in scarthgap
>   * TUNE_FEATURES fix is being backported to scarthgap and kirkstone
> opembedded-core
>
> Peter
>
> ---
>
> Alexander Kanavin (4):
>   go-helloworld: update to latest revision
>   go-helloworld: update to latest revision
>   go-helloworld: update to latest revision
>   meta: remove consecutive blank lines
>
> Gyorgy Sarvari (1):
>   go-helloworld: update to latest revision
>
> Hongxu Jia (4):
>   go: upgrade 1.22.12 -> 1.24.0
>   go: fix buildpath issue for go-runtime
>   go: remove support for GOROOT_FINAL
>   tcmode-default: bump GOVERSION to 1.24.0
>
> Jose Quaresma (1):
>   Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX"
>
> Khem Raj (1):
>   go-cross: Disable build with ccache
>
> Osama Abdelkader (1):
>   go-cross-canadian: fix binaries install and GOARCH
>
> Peter Marko (18):
>   Initial commit: add license, readme and layer config
>   go-helloworld: add from openembedded-core scarthgap
>   go: add from openembedded-core scarthgap
>   go-helloworld: fix license
>   go: upgrade 1.24.0 -> 1.24.1
>   go: upgrade 1.24.1 -> 1.24.2
>   go: upgrade 1.24.2 -> 1.24.3
>   go: upgrade 1.24.3 -> 1.24.4
>   go: set status of CVE-2024-3566
>   go: upgrade 1.24.4 -> 1.24.5
>   go: upgrade 1.24.5 -> 1.24.6
>   go: upgrade 1.24.6 -> 1.25.0
>   conf/layer: switch to golang 1.25
>   go: upgrade 1.25.0 -> 1.25.1
>   go: upgrade 1.25.1 -> 1.25.2
>   go: upgrade 1.25.2 -> 1.25.3
>   readme: update to markdown format
>   readme: add QA chapter
>
> Randolph Sapp (1):
>   go: fix sigaction usage on i386 platforms
>
> Richard Purdie (3):
>   go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX
>   meta/meta-selftest: Fix variable assignment whitespace
>   go: Fix to work without gold on aarch64
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#2515):
> https://lists.yoctoproject.org/g/yocto-patches/message/2515
> Mute This Topic: https://lists.yoctoproject.org/mt/116273402/5052612
> Group Owner: yocto-patches+owner@lists.yoctoproject.org
> Unsubscribe:
> https://lists.yoctoproject.org/g/yocto-patches/leave/13170708/5052612/1504338242/xyzzy
> [quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
>

-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 7482 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

* RE: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter
  2025-11-14 11:37   ` [yocto-patches] " Jose Quaresma
@ 2025-11-14 11:55     ` Marko, Peter
  2025-11-14 11:57       ` Jose Quaresma
  0 siblings, 1 reply; 41+ messages in thread
From: Marko, Peter @ 2025-11-14 11:55 UTC (permalink / raw)
  To: Jose Quaresma, yocto-patches@lists.yoctoproject.org
  Cc: jose.quaresma@foundries.io



> -----Original Message-----
> From: Jose Quaresma <quaresma.jose@gmail.com>
> Sent: Friday, November 14, 2025 12:37
> To: yocto-patches@lists.yoctoproject.org
> Cc: Marko, Peter (FT D EU SK BFS1) <Peter.Marko@siemens.com>;
> jose.quaresma@foundries.io
> Subject: Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34]
> readme: add QA chapter
> 
> 
> 
> Peter Marko via lists.yoctoproject.org <http://lists.yoctoproject.org>
> <peter.marko=siemens.com@lists.yoctoproject.org
> <mailto:siemens.com@lists.yoctoproject.org> > escreveu (quinta, 13/11/2025 à(s)
> 12:57):
> 
> 
> 	Describe QA done when accepting patches.
> 
> 	Note that oe-selftest fail when additional parameters (like -j) is not
> 	present. When that is fixed, we can simplify the oe-selftest QA example.
> 
> 	Expected results:
> 	* runtime
> 	RESULTS - go.GoCompileTest.test_go_compile: PASSED (67.87s)
> 	RESULTS - go.GoCompileTest.test_go_module: PASSED (6.17s)
> 	RESULTS - go.GoHelloworldTest.test_gohelloworld: PASSED (1.24s)
> 	RESULTS - ping.PingTest.test_ping: PASSED (0.02s)
> 	RESULTS - ssh.SSHTest.test_ssh: PASSED (0.67s)
> 	* sdk
> 	RESULTS - go.GoCompileTest.test_go_build: PASSED (0.35s)
> 	RESULTS - go.GoCompileTest.test_go_module: PASSED (0.33s)
> 	RESULTS - go.GoHostCompileTest.test_go_cross_compile: PASSED
> (0.22s)
> 	RESULTS - go.GoHostCompileTest.test_go_module_cross_compile:
> PASSED (0.37s)
> 	* oe-selftest
> 	2025-11-13 11:55:23,485 - oe-selftest - INFO -
> gotoolchain.oeGoToolchainSelfTest.test_go_dep_build
> (subunit.RemotedTestCase)
> 	2025-11-13 11:55:23,485 - oe-selftest - INFO -  ... ok
> 	2025-11-13 11:55:23,485 - oe-selftest - INFO - 0: 1/1 1/1 (3.17s) (0 failed)
> (gotoolchain.oeGoToolchainSelfTest.test_go_dep_build)
> 
> 	Signed-off-by: Peter Marko <peter.marko@siemens.com
> <mailto:peter.marko@siemens.com> >
> 	---
> 	 README.md | 44
> ++++++++++++++++++++++++++++++++++++++++++++
> 	 1 file changed, 44 insertions(+)
> 
> 	diff --git a/README.md b/README.md
> 	index e316fc6..06a948d 100644
> 	--- a/README.md
> 	+++ b/README.md
> 	@@ -41,3 +41,47 @@ Maintenance
> 	 Layer maintainers:
> 	 * Jose Quaresma <jose.quaresma@foundries.io
> <mailto:jose.quaresma@foundries.io> >
> 	 * Peter Marko <peter.marko@siemens.com
> <mailto:peter.marko@siemens.com> >
> 	+
> 	+Quality Assurance
> 	+-----------------
> 	+
> 	+QA tests are using original openembedded-core testsuites.
> 	+Current plan is to backport QA test changes to openembedded-core
> scarthgap branch.
> 	+When that is no longer possible, changes will picked here.
> 	+
> 	+Automated tests to verify go toolchain functionality are being executed
> with following configurations and commands:
> 	+
> 	+* OEQA runtime
> 	+
> 	+    ```
> 	+    IMAGE_INSTALL:append = " packagegroup-core-ssh-dropbear go-
> helloworld packagegroup-go-sdk-target"
> 
> 
> 
> Is the go-helloworld running automatically or does it need to be launched
> manually?

go.GoHelloworldTest.test_gohelloworld executes it in qemu and checks both exit code and printed message.
See https://git.openembedded.org/openembedded-core/tree/meta/lib/oeqa/runtime/cases/go.py?h=scarthgap

Peter

> 
> Jose
> 
> 
> 	+    IMAGE_CLASSES += "testimage"
> 	+    TEST_SUITES = "ping ssh go"
> 	+    QB_MEM = "-m 2048"
> 	+    ```
> 	+
> 	+    ```
> 	+    bitbake core-image-minimal && bitbake core-image-
> minimal:do_testimage
> 	+    ```
> 	+
> 	+* OEQA SDK
> 	+
> 	+    ```
> 	+    IMAGE_CLASSES += "testimage"
> 	+    SDK_TOOLCHAIN_LANGS = "go"
> 	+    TESTSDK_SUITES = "go"
> 	+    ```
> 	+
> 	+    ```
> 	+    bitbake core-image-minimal:do_populate_sdk && bitbake core-image-
> minimal:do_testsdk
> 	+    ```
> 	+
> 	+* OEQA selftest
> 	+
> 	+    ```
> 	+    SANITY_TESTED_DISTROS = ""
> 	+    ```
> 	+
> 	+    ```
> 	+    oe-selftest -r gotoolchain -j $(grep -c ^processor /proc/cpuinfo)
> 	+    ```
> 
> 
> 	-=-=-=-=-=-=-=-=-=-=-=-
> 	Links: You receive all messages sent to this group.
> 	View/Reply Online (#2533): https://lists.yoctoproject.org/g/yocto-
> patches/message/2533
> 	Mute This Topic: https://lists.yoctoproject.org/mt/116273420/5052612
> 	Group Owner: yocto-patches+owner@lists.yoctoproject.org <mailto:yocto-
> patches%2Bowner@lists.yoctoproject.org>
> 	Unsubscribe: https://lists.yoctoproject.org/g/yocto-
> patches/leave/13170708/5052612/1504338242/xyzzy [quaresma.jose@gmail.com
> <mailto:quaresma.jose@gmail.com> ]
> 	-=-=-=-=-=-=-=-=-=-=-=-
> 
> 
> 
> 
> 
> 
> --
> 
> Best regards,
> 
> José Quaresma

^ permalink raw reply	[flat|nested] 41+ messages in thread

* Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter
  2025-11-14 11:55     ` Marko, Peter
@ 2025-11-14 11:57       ` Jose Quaresma
  0 siblings, 0 replies; 41+ messages in thread
From: Jose Quaresma @ 2025-11-14 11:57 UTC (permalink / raw)
  To: Marko, Peter
  Cc: yocto-patches@lists.yoctoproject.org, jose.quaresma@foundries.io

[-- Attachment #1: Type: text/plain, Size: 5496 bytes --]

Marko, Peter <Peter.Marko@siemens.com> escreveu (sexta, 14/11/2025 à(s)
11:55):

>
>
> > -----Original Message-----
> > From: Jose Quaresma <quaresma.jose@gmail.com>
> > Sent: Friday, November 14, 2025 12:37
> > To: yocto-patches@lists.yoctoproject.org
> > Cc: Marko, Peter (FT D EU SK BFS1) <Peter.Marko@siemens.com>;
> > jose.quaresma@foundries.io
> > Subject: Re: [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH
> 34/34]
> > readme: add QA chapter
> >
> >
> >
> > Peter Marko via lists.yoctoproject.org <http://lists.yoctoproject.org>
> > <peter.marko=siemens.com@lists.yoctoproject.org
> > <mailto:siemens.com@lists.yoctoproject.org> > escreveu (quinta,
> 13/11/2025 à(s)
> > 12:57):
> >
> >
> >       Describe QA done when accepting patches.
> >
> >       Note that oe-selftest fail when additional parameters (like -j) is
> not
> >       present. When that is fixed, we can simplify the oe-selftest QA
> example.
> >
> >       Expected results:
> >       * runtime
> >       RESULTS - go.GoCompileTest.test_go_compile: PASSED (67.87s)
> >       RESULTS - go.GoCompileTest.test_go_module: PASSED (6.17s)
> >       RESULTS - go.GoHelloworldTest.test_gohelloworld: PASSED (1.24s)
> >       RESULTS - ping.PingTest.test_ping: PASSED (0.02s)
> >       RESULTS - ssh.SSHTest.test_ssh: PASSED (0.67s)
> >       * sdk
> >       RESULTS - go.GoCompileTest.test_go_build: PASSED (0.35s)
> >       RESULTS - go.GoCompileTest.test_go_module: PASSED (0.33s)
> >       RESULTS - go.GoHostCompileTest.test_go_cross_compile: PASSED
> > (0.22s)
> >       RESULTS - go.GoHostCompileTest.test_go_module_cross_compile:
> > PASSED (0.37s)
> >       * oe-selftest
> >       2025-11-13 11:55:23,485 - oe-selftest - INFO -
> > gotoolchain.oeGoToolchainSelfTest.test_go_dep_build
> > (subunit.RemotedTestCase)
> >       2025-11-13 11:55:23,485 - oe-selftest - INFO -  ... ok
> >       2025-11-13 11:55:23,485 - oe-selftest - INFO - 0: 1/1 1/1 (3.17s)
> (0 failed)
> > (gotoolchain.oeGoToolchainSelfTest.test_go_dep_build)
> >
> >       Signed-off-by: Peter Marko <peter.marko@siemens.com
> > <mailto:peter.marko@siemens.com> >
> >       ---
> >        README.md | 44
> > ++++++++++++++++++++++++++++++++++++++++++++
> >        1 file changed, 44 insertions(+)
> >
> >       diff --git a/README.md b/README.md
> >       index e316fc6..06a948d 100644
> >       --- a/README.md
> >       +++ b/README.md
> >       @@ -41,3 +41,47 @@ Maintenance
> >        Layer maintainers:
> >        * Jose Quaresma <jose.quaresma@foundries.io
> > <mailto:jose.quaresma@foundries.io> >
> >        * Peter Marko <peter.marko@siemens.com
> > <mailto:peter.marko@siemens.com> >
> >       +
> >       +Quality Assurance
> >       +-----------------
> >       +
> >       +QA tests are using original openembedded-core testsuites.
> >       +Current plan is to backport QA test changes to openembedded-core
> > scarthgap branch.
> >       +When that is no longer possible, changes will picked here.
> >       +
> >       +Automated tests to verify go toolchain functionality are being
> executed
> > with following configurations and commands:
> >       +
> >       +* OEQA runtime
> >       +
> >       +    ```
> >       +    IMAGE_INSTALL:append = " packagegroup-core-ssh-dropbear go-
> > helloworld packagegroup-go-sdk-target"
> >
> >
> >
> > Is the go-helloworld running automatically or does it need to be launched
> > manually?
>
> go.GoHelloworldTest.test_gohelloworld executes it in qemu and checks both
> exit code and printed message.
> See
> https://git.openembedded.org/openembedded-core/tree/meta/lib/oeqa/runtime/cases/go.py?h=scarthgap


Nice!


>
>
> Peter
>
> >
> > Jose
> >
> >
> >       +    IMAGE_CLASSES += "testimage"
> >       +    TEST_SUITES = "ping ssh go"
> >       +    QB_MEM = "-m 2048"
> >       +    ```
> >       +
> >       +    ```
> >       +    bitbake core-image-minimal && bitbake core-image-
> > minimal:do_testimage
> >       +    ```
> >       +
> >       +* OEQA SDK
> >       +
> >       +    ```
> >       +    IMAGE_CLASSES += "testimage"
> >       +    SDK_TOOLCHAIN_LANGS = "go"
> >       +    TESTSDK_SUITES = "go"
> >       +    ```
> >       +
> >       +    ```
> >       +    bitbake core-image-minimal:do_populate_sdk && bitbake
> core-image-
> > minimal:do_testsdk
> >       +    ```
> >       +
> >       +* OEQA selftest
> >       +
> >       +    ```
> >       +    SANITY_TESTED_DISTROS = ""
> >       +    ```
> >       +
> >       +    ```
> >       +    oe-selftest -r gotoolchain -j $(grep -c ^processor
> /proc/cpuinfo)
> >       +    ```
> >
> >
> >       -=-=-=-=-=-=-=-=-=-=-=-
> >       Links: You receive all messages sent to this group.
> >       View/Reply Online (#2533): https://lists.yoctoproject.org/g/yocto-
> > patches/message/2533
> >       Mute This Topic:
> https://lists.yoctoproject.org/mt/116273420/5052612
> >       Group Owner: yocto-patches+owner@lists.yoctoproject.org <mailto:
> yocto-
> > patches%2Bowner@lists.yoctoproject.org>
> >       Unsubscribe: https://lists.yoctoproject.org/g/yocto-
> > patches/leave/13170708/5052612/1504338242/xyzzy [quaresma.jose@gmail.com
> > <mailto:quaresma.jose@gmail.com> ]
> >       -=-=-=-=-=-=-=-=-=-=-=-
> >
> >
> >
> >
> >
> >
> > --
> >
> > Best regards,
> >
> > José Quaresma
>


-- 
Best regards,

José Quaresma

[-- Attachment #2: Type: text/html, Size: 9088 bytes --]

^ permalink raw reply	[flat|nested] 41+ messages in thread

end of thread, other threads:[~2025-11-14 11:57 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-13 12:56 [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 02/34] go-helloworld: add from openembedded-core scarthgap Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 03/34] go: " Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 04/34] go-helloworld: update to latest revision Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 05/34] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 06/34] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX" Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 07/34] go-helloworld: update to latest revision Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 08/34] " Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 09/34] meta/meta-selftest: Fix variable assignment whitespace Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 10/34] go-helloworld: update to latest revision Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 11/34] go-helloworld: fix license Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 12/34] go: Fix to work without gold on aarch64 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 13/34] go: upgrade 1.22.12 -> 1.24.0 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 14/34] go: fix buildpath issue for go-runtime Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 15/34] go: remove support for GOROOT_FINAL Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 16/34] tcmode-default: bump GOVERSION to 1.24.0 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 17/34] go: upgrade 1.24.0 -> 1.24.1 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 18/34] go: upgrade 1.24.1 -> 1.24.2 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 19/34] go: upgrade 1.24.2 -> 1.24.3 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 20/34] go: upgrade 1.24.3 -> 1.24.4 Peter Marko
2025-11-13 12:56 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 21/34] go: set status of CVE-2024-3566 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 22/34] meta: remove consecutive blank lines Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 23/34] go: upgrade 1.24.4 -> 1.24.5 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 24/34] go: upgrade 1.24.5 -> 1.24.6 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 25/34] go-cross: Disable build with ccache Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 26/34] go-cross-canadian: fix binaries install and GOARCH Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 27/34] go: upgrade 1.24.6 -> 1.25.0 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 28/34] conf/layer: switch to golang 1.25 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 29/34] go: fix sigaction usage on i386 platforms Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 30/34] go: upgrade 1.25.0 -> 1.25.1 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 31/34] go: upgrade 1.25.1 -> 1.25.2 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 32/34] go: upgrade 1.25.2 -> 1.25.3 Peter Marko
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format Peter Marko
2025-11-13 13:07   ` [yocto-patches] " Gyorgy Sarvari
2025-11-13 14:46     ` Marko, Peter
2025-11-13 12:57 ` [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter Peter Marko
2025-11-14 11:37   ` [yocto-patches] " Jose Quaresma
2025-11-14 11:55     ` Marko, Peter
2025-11-14 11:57       ` Jose Quaresma
2025-11-14 11:46 ` [yocto-patches] [meta-lts-mixins][scarthgap/go][RFC PATCH 00/34] initial scarthgap/go version Jose Quaresma

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.