From patchwork Wed Nov 19 15:04:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74980 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 13005CF34DE for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9145.1763564756173270234 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=DhYq6vuO; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251119150554866c5fe65d0002075a-e6z8ng@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251119150554866c5fe65d0002075a for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=49EzovP6U1bCgmfLi+GB9RZgVCSjMT+fw6jlffmmlNM=; b=DhYq6vuOPWhNw2dZ9AZqKzN8FqpT1Sk75aFn7JjTA+63zUQdGthOC7744d21F3yki8rzHu 485w3svVfBeNX+DlfqOwbt5Y9oKzalNlnvKspDWGJv2FFl3o5uhnFyxynSPZ/om1wjRuVpto i93YnudweqIPlzNniNZ3S6t4+PSWrV4KBWCN0OzELEnl4A6KP+JocEHkwmZpizr1D2b3cJYP dDvp6Mh94H0tx4nat8mDkCvAzyiPf+euJevPH9Pz+ENWg4aLvGPEEFpKYDwCEx1qToCcoz9D NgTrAKxi+vzIQJehBLfcr8gUZC5qRAsch8N5NH8FuqkuEIQrisU8rQaQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 01/35] Initial commit: add license, readme and layer config Date: Wed, 19 Nov 2025 16:04:48 +0100 Message-Id: <20251119150522.15477-2-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2598 From: Peter Marko This is a copy of these files from kirkstone/go branch modified for scarthgap release. Signed-off-by: Peter Marko --- 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..1aa3809 --- /dev/null +++ b/README @@ -0,0 +1,15 @@ +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS. + +At the time Scarthgap was released in April 2024, Go 1.22 was the latest version +and officially Scarthgap 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 +Peter Marko 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 \ +" From patchwork Wed Nov 19 15:04:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74984 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3BB57CF394D for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9146.1763564756222933574 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=J+GWjx7z; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251119150554cbb0bbd71000020790-dtlwqe@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251119150554cbb0bbd71000020790 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=2INf2orSiUTKc0yKfw2edclAJRXbVzxVBXnxWi/rYmM=; b=J+GWjx7zoDsxhZX07mCiWQvsOZuI2Ku7VRhLVrfFpwg4WbX8RaPpdKMtxjOnvzykB8YZrD VsIm0st6/m4Ety59ShFq0E3x2lfz78o148hJMT+P5Yi0lhCPUyCR1kmrT7dq+FWp/RMz6hcy 8ngEUWv5dDx8PBm0PvuDQsXuwrIJvKdRpysp5WD8Rc7oc7Ispip2XZm7uVl8ATK5ROKUzQnk JpFoa3SfeiwQCaIFBYqgn2qXkJtaYt2T+iva5HNzxeHBXeJgAT62YGbKz7mzxT8zmr6KLOax IQXlBzbZ/Fy6nL9gi97vZ3akQ9qIKnTl/jpMz0tUHDTsidr1SPXldMUA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 02/35] go-helloworld: add from openembedded-core scarthgap Date: Wed, 19 Nov 2025 16:04:49 +0100 Message-Id: <20251119150522.15477-3-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2594 From: Peter Marko 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 --- .../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} +} From patchwork Wed Nov 19 15:04:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74998 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 461B6CF3950 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9144.1763564756062951702 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=SAiAg1fr; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-202511191505548a690e02f5000207ae-md90c2@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202511191505548a690e02f5000207ae for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=5XMPKK6zVAlEZyeqkTvKi5kL4pNBatIu3MjT+PX/8wo=; b=SAiAg1frbzRVnn45P7cSKz8EyoxdaUBRbiOwTgKSxMH4NgYv5EdDl7iUsjFMlxUXSwNjNz 40CJTZI/ziLlMeVsewDqzQpfNHSQAlr8rSuITOc+aedCj5ZGhcomH1wsPuVAUET5hTyrGbFi XE0LUEN2wHq8DUDoqAM1M9UFrKwhg4+jJgFY1uOJjpp110MWldNV37fcAc00uV3c3FONyyc2 53djkpDl63hi1s15cIhrMBvBSe9HG85O8jUvH6JalzE0UMZMEmPgKopG6FLKC2BHf/A0IcWi ZaObSI4syR6ySwzqgo34PQnThdhGC4VXS6Mw/zP033y2y5O/JN5pvX3Q==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 03/35] go: add from openembedded-core scarthgap Date: Wed, 19 Nov 2025 16:04:50 +0100 Message-Id: <20251119150522.15477-4-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2601 From: Peter Marko 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 --- 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\d+(\.\d+)+)\.linux" + +CVE_PRODUCT = "golang:go" + +S = "${WORKDIR}/go" + +inherit goarch native + +do_compile() { + : +} + +make_wrapper() { + rm -f ${D}${bindir}/$1 + cat <${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\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 <${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 <${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 <${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 +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 +Signed-off-by: Matt Madison +Signed-off-by: Khem Raj +Signed-off-by: Jose Quaresma +--- + 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 +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 . + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Alexander J Kube +Signed-off-by: Jose Quaresma +--- + 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 +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 . + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Alexander J Kube +Signed-off-by: Jose Quaresma +--- + 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 +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 . + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Alexander J Kube +Signed-off-by: Jose Quaresma +--- + 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 +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 . + +Rework the patch to avoid identation, it breaks formatting rules but +makes the changes more obvious and maintainable. +Jose Quaresma +Richard Purdie + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Alexander J Kube +Signed-off-by: Jose Quaresma +--- + 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 +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 . + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Alexander J Kube +Signed-off-by: Jose Quaresma +--- + 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 +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 +Signed-off-by: Jose Quaresma +--- + 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 +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 +Signed-off-by: Jose Quaresma +--- + 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 +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 +Signed-off-by: Jose Quaresma +--- + 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") +} + From patchwork Wed Nov 19 15:04:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9316FCF34CB for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9143.1763564756309508392 for ; Wed, 19 Nov 2025 07:05:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=RHsfCPYc; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251119150554365b864cc800020755-aluvvy@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251119150554365b864cc800020755 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=l2qPCTVRhRC1fnU9fhK0WrtlzzojVcjIkGsszTuFlvI=; b=RHsfCPYc+SRRkCrAPbRCpr86c5NN0kxWotzGIzX8iae3IdlFeAsL5dZPNZzgBlfdIil1Mm V2qWKNhSLeruI0luX7hzp1BDr5Ayw0fFowDhcjbixH/3/lKW/6WMUR5Tobw899QHfVJ6+3cO bI8QrDMzG1yvS79SeIx9SwR3NPYG0r/U6p7orOBlseDjzX3f9wzfY78iSCeCHqgEVoBmufgE 5zlHWJaibSjJ9jPWGlgNon0NzdW+GwhrCPXAP0ckrZUsl26jSg1n/3fe6nUGkXov7Km3NLzf jAwkw6/imzU1SRJcUs3xd2BRyHhU0K/JgKP8ymQn95Z40Dcxb7fu9Ayg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 04/35] go-helloworld: update to latest revision Date: Wed, 19 Nov 2025 16:04:51 +0100 Message-Id: <20251119150522.15477-5-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2585 From: Alexander Kanavin (From OE-Core rev: ed7d5a9e0ea2c970b3c101876dc3e3b8b5ae2ade) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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" From patchwork Wed Nov 19 15:04:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74979 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17C1ACF3941 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net [185.136.65.226]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9147.1763564756377070090 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=lvSb7wNi; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-256628-20251119150554604687991b000207f8-gbyz0d@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20251119150554604687991b000207f8 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=do8NVNy/83VS54TS9AF8Tv6kmnFkrjHe/tTmAytWXIQ=; b=lvSb7wNi5OGAH/7dZ8nnbti9kUnUp9V+WSv39YRHyWpzPcmkKscE5/nbVxMmnp9D7XaMXe AhEZ5C8/x4gzyQzt+u7yDaYL/IfHJDlBbXMaje6DsmyaOMxw7q94jNkeM5XddTdzyMvcu5hz L/g+8aV2nNrURa2+p6AANHGM5VGjuyO3nBE77Ytk4FH2K7KiS8urNbu8RGKTAquRz32gAoK4 /HA8Dcw/KpT+j+8QV599CsgKNAlh6ude64HqjiKqQYi6ocBmvTRXYxbe7ISTqW5eTScuiEEW xQe/fV8oARjS9CTgjH+6aZ8gVULZp86c8DoEJrm0YBFOS6Uxo6JKBUaQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 05/35] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX Date: Wed, 19 Nov 2025 16:04:52 +0100 Message-Id: <20251119150522.15477-6-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2600 From: Richard Purdie 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 Signed-off-by: Peter Marko --- 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" From patchwork Wed Nov 19 15:04:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74976 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C6A4BCF34D5 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9145.1763564756691608539 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=I7OXDI7e; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-202511191505544ef8586d17000207d5-eawbvx@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202511191505544ef8586d17000207d5 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=jfirrN/TavmEII76NWdWUzLgM7kcUwpYqho9Pp+gThk=; b=I7OXDI7eA6RY2hrllh5b/dsJ/9nICY62EaKZvZnVvyj5X4BG3Gsl5mBx3Plj4uJnfgnfFU nGWvepSwgQx8G9sG5YJUQphdWGoUFKQk3EKvImjPZblwZH+MtSXr2GybbuDf2TCQ2mVhkr0X IjyoUCcWKhIbB8F0jwn3dmlnmBz/3mOajAUROCdSvzpVwkTfF6ycIn0I8B2TkGvBuvPTXSXY UbR87DnDV+ciCfGE30fRzUYjTwyUwAzcR4uDnEF5tvhVwoDDj4/l1jZnV0k6/wR3wU81lVhc mrdah6qAXe3GAGigbFpyhBNUR3tBB+izuGjZjFQs8wOC81gSd8ae7QAQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 06/35] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX" Date: Wed, 19 Nov 2025 16:04:53 +0100 Message-Id: <20251119150522.15477-7-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2587 From: Jose Quaresma 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 Signed-off-by: Peter Marko --- 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" From patchwork Wed Nov 19 15:04:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74983 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 300A5CF394B for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9148.1763564756602974363 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Hpf8fY0E; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251119150554a90c71c4f000020730-ceovu5@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251119150554a90c71c4f000020730 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=Qo8WWwq7ekjbYtUnfSDa52ObsMUGIJsxckzjtt5J4yw=; b=Hpf8fY0EIeCqmNyGiPBLKd07gKCRkDYuZsFR1owS+IEJglvYm32f/hAaw8n2zqJnaPwAuc ZKx3vefCI+vY3siH5vu3GUM1AD5otrKfIGIs+aqYaCDIf0vVSJT1YWb3F+OhjUDpAHbJtcPj Nn1rxKz8de2GJDKN2MFr1XpVB7uQkE664D8ho7OdBqtBK9N/X4CO1uaUC+/szIbzGdnhYPUA bP3zeFAiiFBJ7yZM7hmrb1Gt3G9ZdlPdMR4u7GmHtGVQpSgpsNgDaC3ZOgDscoolhUKrZ+yM vNitFJPez8xJktq0dK3Ct2F8piLXT0dUGSmUrIodhOpxM4PUCupQ7HiA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 07/35] go-helloworld: update to latest revision Date: Wed, 19 Nov 2025 16:04:54 +0100 Message-Id: <20251119150522.15477-8-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2593 From: Alexander Kanavin (From OE-Core rev: 62b8005e6df13fed7754d504d7aa37614d318008) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 From patchwork Wed Nov 19 15:04:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74982 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 26090CF3943 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9149.1763564756735047863 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=OeGsPgns; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-2025111915055496d020b8460002071e-4whtr8@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2025111915055496d020b8460002071e for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=zkcmSROVmAjcK9gd4s+wdqiDWwbF3BVmK7sD1HCU38g=; b=OeGsPgnsuRg2a6HFu/AZw5QbYX6HsVUCw/otrvE7wbVMWPYLludFJKrA5XHWHED2m/T+j2 AMeOe8qV3Hsu8B6wSlqBxPIQn1YgwPpg/9aYOI8zvu4R4n/H3hDrOiq3MdTnUrwhgUjYjs9S Wzs/ctNQMvNepc+cIYpKqSBPGHfgskYoOYMYLNZfwdZ6NmHMKSC628E11te7DzMgnNjDquHJ /vwVHxHDkjQcoYVmCy8tELIHoBXnl9mvbDWq9k0R4uQxM3h2UU9wdOVTYap1cUDY1Q2KBO5N jWxa+Qd2wt9Ynim9qql35fFiKqKJDhwED5YW0nIUlP69Tfl6/gjHyE2g==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 08/35] go-helloworld: update to latest revision Date: Wed, 19 Nov 2025 16:04:55 +0100 Message-Id: <20251119150522.15477-9-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2592 From: Alexander Kanavin (From OE-Core rev: b14bd8f189d967155159161ce65ea5aac52a3322) Signed-off-by: Alexander Kanavin Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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" From patchwork Wed Nov 19 15:04:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74978 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id ECE00CF34DA for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9153.1763564756992869693 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=cEnTVFao; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-20251119150554cdcb567b490002073b-l1kqga@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251119150554cdcb567b490002073b for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=EYr7hb5CTWgqyzs48T0RYe8TaKXwzTwMdNLxOU0evKE=; b=cEnTVFao/gpfqYFw0Pf9UR7z90xG+dqv0LzqMihZflS9Q+WRteqJ0Er/KN6fql73o4xiAx NFLakFauBQx+XetcupA2yTdnJG09F1buqNko4mkuUtPAQ6SCFSZted2k7thjsc3sKZPauDIC YoAOLKuodZtkOpFg+FoMi21zQWIB+g4rPJ+56HAQZ0C3sXOviQ9dI71qkA0rOpFs5v5kEXOu 8MeJAsRT5Oh19d6UOKZaeplB83fNgn/vyvQKfr5Ns7dYwxSt6m3hDi9VsOMRBKxhTyxN8N1m QSKdQkSrH9d//fMeC8A6bY253uhogdOGF7KVAlXM6vhRLXTo0xbem3tQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 09/35] meta/meta-selftest: Fix variable assignment whitespace Date: Wed, 19 Nov 2025 16:04:56 +0100 Message-Id: <20251119150522.15477-10-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2595 From: Richard Purdie 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 Signed-off-by: Peter Marko --- 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 From patchwork Wed Nov 19 15:04:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74974 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B1B83CF34D0 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9144.1763564756649951482 for ; Wed, 19 Nov 2025 07:05:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=gDOKvdjA; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251119150554600c600e20000207a6-aykrsf@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251119150554600c600e20000207a6 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=QK0SGDZSV8y4NHhAC83g+A4Co3deYvBGGcJPRD3dgKc=; b=gDOKvdjA3lQPkRl98FLvk74eV1VA+drHvl3ypkEOn66onXo3k8fTQG7hX8kX9umXWi3b4N n9EwvM25tZCXc2YmxQXMZ/CKEdqtMNE0DNTOFz6TMaQIxMpgYcGTKV919G+5ZYVB5I2SUwQu stcVDdwlVy8pMiihJoYBt95yYXS0rsik4p+3Kb29C+h0p88EVL3V6SWHXOuQQf7xJtsADHmi QqYsh5STw+pznWtpfXs/Xx6Ix+UfqEXMSGqSwGTXi0xyCMghe2iY2kYDsqjJulzxU8NNR4kK hN8UqFUR2cURiBGs+qqCuDUh99HIl4eqDNv3gETIGVI3T3TO9GTefvIA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 10/35] go-helloworld: update to latest revision Date: Wed, 19 Nov 2025 16:04:57 +0100 Message-Id: <20251119150522.15477-11-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2586 From: Gyorgy Sarvari 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 From patchwork Wed Nov 19 15:04:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74977 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8667CF34D9 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net [185.136.65.226]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9150.1763564756770038152 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=EzPoXHgb; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-256628-2025111915055470fda668170002078f-iwcwe6@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 2025111915055470fda668170002078f for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=0afVVTJc6rvr21It2wITI/i3Zftusw25WTxBZDrTHKM=; b=EzPoXHgbKGBLB6NUoqW1gjkF5iIswCRpCG0UzNJJ9U7kd2Mtzu8RYfR2NQ/bLNIMKGy8jA pFOfjikEBOAOFOdugNsCkSzEHk62kNYemobHsMbkrmcDheadtHvUw6fVp/GOOF2ESkgg3qUF wgm2xZr/ZzNEc6zyC60L2WB80wqiPiLIW06xBIeJpOiTs0Q6LGZrXZP7lZ8hjCszlD9vAwhj ZCFnnH5cxOnAF9Tob+bsp6EjzSidWBK6P339qe6CfTDvumZHjjayo4Kp0Sgv38lEmH6Bx6Oo rQKVDaCbHCKnKEDWe7ozITFwvLeuIwHlo3TFitsoJypv4fWwM8FcPdlA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 11/35] go-helloworld: fix license Date: Wed, 19 Nov 2025 16:04:58 +0100 Message-Id: <20251119150522.15477-12-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2596 From: Peter Marko 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 it was not submitted to master. Also the old releases still had Apache, so this patch is different now with new versioni of thie component. License-Update: Fix license declaration. (From OE-Core rev: a192ce88b8b374fb50210e0c06d5801fe83d6d9e) Signed-off-by: Peter Marko Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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" From patchwork Wed Nov 19 15:04:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74975 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0AD2CF34D1 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net [185.136.64.226]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9151.1763564756836769542 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Senqwq+/; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251119150554d1ffd9724d00020765-k01oh9@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251119150554d1ffd9724d00020765 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=n+mwKAiyBqZj9P+LVnuV9Bc7vCSztiH+9cvH/HNDqoU=; b=Senqwq+/LpaRWlow1fKncp1D5Kk4YNODoS+lChja/mSycIdT4tsiP+25hTmwVRir5QMy+y 3AwNozKHbPyp6u2jWFer6hY7GO0WtytJhLOGRdxUJNLbJGpKzNJSyCEtvWRmMR4HLMvnHi7v IPOhVy78XqCB517qd3v2B8s7bINIb0wsRQ8p+mgYH12HMYavXO+L3VyF+WtHz8vrgLvXdeB0 zYPTxNn6I++4Nw34RyPFUdZGuvm2isYvXVuBHtrdfbYB3g437P61WMrFNXz/LSczxejWES+k P9ESok0SIfuuvz5T0uBkCbduiub+a2xzPy8GURqhFzWciE8LnYZC1m9A==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 12/35] go: Fix to work without gold on aarch64 Date: Wed, 19 Nov 2025 16:04:59 +0100 Message-Id: <20251119150522.15477-13-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2591 From: Richard Purdie 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 Signed-off-by: Peter Marko --- 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 +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. From patchwork Wed Nov 19 15:05:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74989 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 184B3CF3942 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9152.1763564756859872713 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=BvFiK6G4; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-20251119150554ad841772ff00020704-wmpcll@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20251119150554ad841772ff00020704 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=CcYa0XM2cEB56DtZji2PkuIOTtt8GNV69Gbo0etrCpc=; b=BvFiK6G4eFRGDmz5/H+vAjcmM9ywd2fO2m3Z7p7+Bo0bZb+rNvpy3MioUm/XAZP8NLsJHb VpIQ1DLgcfLGBBp5KzUMjujPmY6gC7yHJGhM41iXqGBXOqX69nm6YaBeVeUb9OgskvcZBpll Qyn3kVJ1O1MIJAVKhhTg/WyTkW4lGZ48UsXBBNaZKxR0VZKaQJTVE7WQC1JfxGf0fMeQE3Js 2/bfzMz48VbqaiF1x7f/pW+dweja6xxupw6Ia+mz9GXtdsN/xN61cvNvbqGF3b5uSykdFEKi tw9BRQjhL2DmVTKtkIUDLolszqqj2bxbLvSBOpJT2SdSHUwg6/gBs8aQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 13/35] go: upgrade 1.22.12 -> 1.24.0 Date: Wed, 19 Nov 2025 16:05:00 +0100 Message-Id: <20251119150522.15477-14-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2599 From: Hongxu Jia 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 Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- .../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\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 -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 Signed-off-by: Matt Madison Signed-off-by: Khem Raj Signed-off-by: Jose Quaresma + +Rebase to 1.23.4 +Signed-off-by: Hongxu Jia --- 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 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 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 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 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 -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 Signed-off-by: Jose Quaresma + +Rebase to 1.23.4 +Signed-off-by: Hongxu Jia --- 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 -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 Signed-off-by: Jose Quaresma + +Rebase to 1.24.0 +Signed-off-by: Hongxu Jia --- 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 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 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 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 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 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 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 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 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 From patchwork Wed Nov 19 15:05:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74971 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94D08CF34CC for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net [185.136.65.228]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9147.1763564756931793593 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=bn4fiO3r; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.228, mailfrom: fm-256628-20251119150554e9738ee06f000207c6-gbvrss@rts-flowmailer.siemens.com) Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 20251119150554e9738ee06f000207c6 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=flA3TcLbTclnmqPEWSKySCdAM4txjh6XLwOYV4OYJn0=; b=bn4fiO3rv2QFBnaG8rcJzqJZC+kBtV4goBuCdhrdXJwgaWonPdv5Gv3WNOSiwvLabcW2KB msi2v9BA962bh5Hp0nOGF0T/9h5VU4arHgfzXiklC9V47clg5Qj0125Pah71dMRV8E971hlN LQv9sa5WlbJiuwhS6B/5akyTbRRhLtApL4HTzVS4WIXFGktzY4yIKRy8HTd0XnjWqN7PpEMu jsCnY5XOu5mcXLLrfa3PX4oxKDxjAFmMr1iriliIESxflRmVmwa1lCEH+Rcb0DD0F5xfSBqL so04K2kO3voDJW7jSljjtoBANZLIxIICEvz5wOscL5GKpNMQWYtyls4A==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 14/35] go: fix buildpath issue for go-runtime Date: Wed, 19 Nov 2025 16:05:01 +0100 Message-Id: <20251119150522.15477-15-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2589 From: Hongxu Jia 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 Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 +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 +--- + 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 + From patchwork Wed Nov 19 15:05:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74972 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C384ACF34D3 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9146.1763564756742824217 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=TMv4iWHX; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-20251119150554e2baf6d0c500020725-nxn4c0@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20251119150554e2baf6d0c500020725 for ; Wed, 19 Nov 2025 16:05:54 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=rU1QuEuHB4+G5jjzoEPLCx3wOSQovaNvDPePJ7DHOVs=; b=TMv4iWHXn6szbqk+0MRcDNtbf0Db6m0nhrIQhrkheZdop81pSRmxEE36dQuyAEpW77aOwh 4Pmkcy5YprMKhO7bcl4rvRzJrkh3FmL4Vkt5483G+q1XkhQr0NPMu5Oe7BL9163eFVPxO9gy 47D8+7T4QKbkQgGlMsMpY1Kmv5pX66EqCU/I8kEXz3BmTTsqb3zwA8RRQZAV3Wz5MLvS52mQ MqJc8YMXjSBh6LaBbN0EvseRqHPno1DXt7DWa6WtDA66zwPiroBbuxLHMLVjiX5Keu2vmnEk LbfrlvAlGPwXUbQ56RezQHctzesnWU1MEYMYASmdUFixTtXWX97aho0Q==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 15/35] go: remove support for GOROOT_FINAL Date: Wed, 19 Nov 2025 16:05:02 +0100 Message-Id: <20251119150522.15477-16-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2588 From: Hongxu Jia 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 Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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" From patchwork Wed Nov 19 15:05:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74986 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EA47CF3958 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9143.1763564756309508392 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=fRctMrcD; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251119150555238fd3632600020725-ss1bc9@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251119150555238fd3632600020725 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=QJahyFmI8n2AjUqWvHZopK9GJFAH5AXSzxmA8ZnMflU=; b=fRctMrcDppyYxm7pANgTEAYl78S4eZVRKXsFcDWJ/IMboSqgfuupYN1CXrvoS2uyatyD8l h2yqCpT7v5q3dZGOEThxEl52fj5S5F1ivChj9Pk9jEbQiYABOYL1PPkJ1/rpSvEuSwPK+wNy 5gtA4iCAgo/tz205DGQZCzkNT3l1pUqf+y1zae6hUZXMGlt3duLf+JLUzKfZpuM2JMCcZpBz 8tfiXXesFoIlcl1nriNbfT561I+SQwyaavHolYeTbeXkDFF3l2dFZg9Ajjr3Fw7yrffLaX5G kIKsoURImIvPo4c5w3yZDbCGJ8vTnKr2Y/x47hqgi6mpSGxRl6/hFyCw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 16/35] tcmode-default: bump GOVERSION to 1.24.0 Date: Wed, 19 Nov 2025 16:05:03 +0100 Message-Id: <20251119150522.15477-17-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2610 From: Hongxu Jia 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 Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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%" From patchwork Wed Nov 19 15:05:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74981 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07AEECF34DB for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9154.1763564757154090915 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=QXVY0rzy; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-2025111915055509b575c96d00020767-zjbngr@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025111915055509b575c96d00020767 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=9GDUhq+ivizWvJ+AWIS9b7+4LIYAD7GiqGpRNg1e8Uo=; b=QXVY0rzy3FaCPHtU28cHXX1/m7CoY8hCEP+N2bM705+waM6GG+lqifvHF14ORTjBOxx5qb 1jFEFXpJcWLVR5BGQf5PixmBRK6Buqt4SjnmHP0FE2T+yAKkEEMlOf45cL4mRFf62RGTeRO5 fbc2mV68Azy00aJzCpS6hncudHvbht4zlss75+rrRz2ltMWZSGzj+qiIZ78Djp8QMNDhPCEm 6BSUlbxBPUwAnoC3ZuvY/Z7bSc5xheTGzTJK/zoC4BJ2B4ERcktq7B87LsHtvjZn4JbC5MPO 2rOLyHjiHxv51hBD/x5V8OigHv2eGk0cn09BuqxwN8q60Y+8WVlMCQsQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 17/35] go: upgrade 1.24.0 -> 1.24.1 Date: Wed, 19 Nov 2025 16:05:04 +0100 Message-Id: <20251119150522.15477-18-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2597 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74993 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7875ECF3959 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9157.1763564757518852636 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=ZP6jhIgf; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251119150555c9d8145b9a00020734-y_4pod@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251119150555c9d8145b9a00020734 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=CajeAvwnZ1HESoifoemtQaKGc23Mjsqs5LkOE4Vbksg=; b=ZP6jhIgf9OLgihe+ockRPOSK4sz6uQREWIpPxIqjAAU2DqW3fSuCMtx6C+ZIoAZhY260zT +kqwNJJ2NP/0/Pcibx/5Y2yyUQfElTldGWs7TSA6ZN5E6nHpj5TD5EGbFfDfmXSAotD/3SdV lXcU5j5byux1BBxYZxGLgAXUm+PO5jTUUoRN+Ebgy2kNDOey32ooioCZWTzCVgcJ8fzj03yW 5emh6SvPU0HaZqX0X3DhckukyiMtFqjohkfQDZ3/u2Y/3nGJcBD7Tp/Q7v3echKSO2L19K54 9/hoRbqvkUA03B+z+DhYOAA1cFQkqoH8LCffVbICeQzAYtZRDM0DGnKA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 18/35] go: upgrade 1.24.1 -> 1.24.2 Date: Wed, 19 Nov 2025 16:05:05 +0100 Message-Id: <20251119150522.15477-19-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2609 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74990 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FDBBCF3961 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9144.1763564756649951482 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=eCyaYurZ; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251119150555454a9c1d2e00020724-ehb43e@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251119150555454a9c1d2e00020724 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=9WZwrnYRkgyH6u6pUWzTbiMMxQ87dgTdJumVmxlboTc=; b=eCyaYurZsNikXh+feOvvze77PUSvpH9cSAda77p9Bb1d63kqRXLx1rk9SLhzZ/ZD4FSB+F OLkcjSPusWOk/xe9vScTcebnpiHKViDL5LSlT+xxu2Hr+0SwII+rPqVqqPeah188iFgl34Wo 9vOnTbMxrtNqMOxLpgPZdbzrTznOMBMoA5Rkc534OXTa5illAV8PsXNu01A095Z820nmwwuj yB/7M4I6ylTiGAhZ7N2vfetN7nUvDyxhmQhnsZ5hTLw6CRjflvRRXSLmM4+2gdOMNue8qZ4l m/Qt0gvudMvvfVt9+Pw4unPFRABHfpEyP7XW8WxyfPIZS517btGZ1X6g==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 19/35] go: upgrade 1.24.2 -> 1.24.3 Date: Wed, 19 Nov 2025 16:05:06 +0100 Message-Id: <20251119150522.15477-20-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2603 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74987 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 496BCCF3951 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9148.1763564757192064944 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=S73+afJa; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-20251119150555f47a2e2fcc00020797-apyuzh@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251119150555f47a2e2fcc00020797 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=2/qIuCbkRN7YIghOb4XIkLTKLcupCpIG2YZCkqmy6ho=; b=S73+afJa0c7c0C1509zdfF4HzCmQpNTqrYeAvcUfQfuQy7HfKbwiGi/0javXjK0VcCwguQ tXN6VsQuYtgTyZ3RYl/yD3I4x57bFgubBW/l3XTi250p/tVg1vVzCsumUiIeRopNi7EGBWEJ Oh5NZ9UMMjEmTBZOuE2RSFK3ZSZ1w24alFpU08NObgfsym/lemIkAxROD75a+ZsV+YvdKo62 v1ZBHpzPLJg8TTsncZ3rYRnToib0Xq5jX6omr5CMiIx1LtHTEGGdV7IDjrTratCn+v05eefC jyeP177SzXzcsi+AbovFowO4LiImgNUsnXl2XWfPS0czacxYnPt0cHSQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 20/35] go: upgrade 1.24.3 -> 1.24.4 Date: Wed, 19 Nov 2025 16:05:07 +0100 Message-Id: <20251119150522.15477-21-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2605 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74973 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F595CF34C9 for ; Wed, 19 Nov 2025 15:05:57 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9143.1763564756309508392 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=n6F+GVN5; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251119150555d54a63cc01000207ea-hjvuul@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251119150555d54a63cc01000207ea for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=4WSEcCsAyiKzlAdiS/5kbM/AkfGQ7NeFRSFBxz2ueUI=; b=n6F+GVN5PxDOggYUORahZTDp4VpVCvSvnHx8uBosflRHXo94598TgLbacBiW38/Xa9n9y6 hOL4wTRMkABgmZ55rjPQy2kLxCvw8kK/b8M8UTgqLsxoY4uyyoAVnD/U2Y0kd5qxWZtxG/x4 zJ2v51sKwABRtpGp9S/xg+gV6YY/F10y7XdgoZhbgRSFGHkpVjXStnlQyuDDcQiK9VgQhhtR WaP38m7wU6DrOWnuvMQLRcf45eqMy0bfGRDaEb3rBFm3kGEscQH2Y1Yo0LhdvOzfYifRzuRp Wly7rTebykruxgJ0j2dEA7YcofOY9kG7RPX6mHX6VbD3Geb8HZsAduyA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 21/35] go: set status of CVE-2024-3566 Date: Wed, 19 Nov 2025 16:05:08 +0100 Message-Id: <20251119150522.15477-22-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:57 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2590 From: Peter Marko 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 Signed-off-by: Richard Purdie --- 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\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\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" From patchwork Wed Nov 19 15:05:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 75000 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E12D0CF396F for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9149.1763564756735047863 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=AAy+d04Q; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-202511191505559ad277654d0002077c-cpexkb@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202511191505559ad277654d0002077c for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=5x+BvErG6AfV6bRcF9g/rH47/c7ErF1EI5fhAh1M7iA=; b=AAy+d04Q17wof5HHiglWnMQjHULW/y0saPxvRLcDkZGKStFA5BjIfo3feANYQ5QO1FaAlD 1xRPfCSFIuIaKdFPvvDyc+boAgr+2bt15GP53SFOYuULTYsaS6xL8GbPF8FfgV2Lrp8sgwiz dkFwHSIWUYi/puquQ+jlO9UlWJ2X49tsYmwj47G+t4mOFyoP7+DiFtVxLDJfKFm7bEVrk8IJ BQZG/NTLbQ94lr7K6aicLtBq4zEz1tqrp321aJz6LFzAGd/+dIspUdynkaib0taXjY+Znr1R utaC/4pCQP+UChrAb6z7ei/r925zf04qaNRIvLD2JWa4DPnAp5uTTlxw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 22/35] meta: remove consecutive blank lines Date: Wed, 19 Nov 2025 16:05:09 +0100 Message-Id: <20251119150522.15477-23-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2614 From: Alexander Kanavin 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 <${D}${bindir}/$2 From patchwork Wed Nov 19 15:05:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74991 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6720FCF3957 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net [185.136.64.226]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9149.1763564757396547010 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=TAts58kG; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251119150555158840761c000207dd-vnvpqi@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251119150555158840761c000207dd for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=pk5vWdT1BZJvyk4CabL1vY/nx1rPe73oIqhZQEqR4A0=; b=TAts58kGDPR/XA6xOXqM4j6oD0a2OGfGlqKI9u3YI/6Bd+kIqu/kQM7E+ZCLtFf2+IlwDV Vz2DNigCzbmInqOEGDpd8seNWKq7dDOxMoQUzE/agdOz+Ru71NLcFZk7CIMkTCXR7JK8IVa1 RIigpg9231L5Z9qa1flDS4gX1ek6IMA+Sc+ntP97x9Iqsrf4YSMFX2bNO2+Luzjj7roX3wqR GsB0FAhjPoB2E8fZ7pNMY8S+jg5xS1SfjEO1Eeke4+rvthO0lCssQcQeUSz3nAZukVgZiWbl xX/e6TigwYkj76ndqd9UHOa1MXuGcYhUxOePxMfxdB+RItNsVtDI0yHQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 23/35] go: upgrade 1.24.4 -> 1.24.5 Date: Wed, 19 Nov 2025 16:05:10 +0100 Message-Id: <20251119150522.15477-24-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2608 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74994 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9622DCF395E for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-227.siemens.flowmailer.net (mta-65-227.siemens.flowmailer.net [185.136.65.227]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9155.1763564757187818123 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=RjlwqXLD; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251119150555a8a8cac8be000207b1-aqb99v@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251119150555a8a8cac8be000207b1 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=/4rWFHi10Bdi1ao3fPh1Vi4RoSI/ZTY4Ga1f04sAj/M=; b=RjlwqXLD9iiZqGnOnXBXJ97d1Blm5kZCYtxHELNQqHgWhD6qTZvGJMcjN7MuUD2r9GHYMi iryggcVBcGUazdKr/M8kYmTDnq+m1r4oMTlNANuv3NTFOihWJ3RpS6DAywmIpPsWe4oSdQ/S g/LHoqtj7OuVozw4Q08JT3n12+QqnW3CHUAP5CjajeJ1Jtig8cYgdZsTnclgROGY/Op9C6Pq ay8WAFIJVD1wPZVpRiFgB+pO20OkkyhEn5n/+gVWA68kjVCLVGLHdNZ+UmiVm3RIfBK3LUBz 5HpjEV173O3xdLsikXYfK30keqajsxh3RJbxW4jdx7OyNr2oXw0qUIwA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 24/35] go: upgrade 1.24.5 -> 1.24.6 Date: Wed, 19 Nov 2025 16:05:11 +0100 Message-Id: <20251119150522.15477-25-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2602 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id F052FCF3973 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9148.1763564756602974363 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=EQC/LdkX; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-202511191505554feeff595e0002070f-v6jzga@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202511191505554feeff595e0002070f for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=oXKWMTgSYq7IfWEqcORRP2X7I8VdJJNrOwcyqcssqkw=; b=EQC/LdkXsNhJJ77KlPCjbFBjfnhMZU2dN9UdpmbrF/tckhasWfrZea5A7e9k1lSNsQ2zOa Y0oRtRqEDesB3lrNrPl34Wmq1PVk8z/bOr7BKL8kQb3oHRLtdYa4xCIAQcl42lx1CWcC6NPz BRPn6iDv0rngs5nqJjO/3KzRsOyuhkFq0QKWORAOZGuCp8C3nmJU0/wqOjrUYth7FCKjxG+6 SLF/MZkfqc1OI36a1Cu7lH7/Ezvdr9TycH7gwQWSbcoUneqvBKwkrjkEYfYHNVAKAe07CNkc cg2m5SJ/1vQ6GWaA28+18Emw0u2z8YeO96JP/GF+RyFFaFXl++JTxsrQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 25/35] go-cross: Disable build with ccache Date: Wed, 19 Nov 2025 16:05:12 +0100 Message-Id: <20251119150522.15477-26-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2616 From: Khem Raj go compiler does not work reliably with ccache gcc: fatal error: no input files (From OE-Core rev: 136743fe72591b90794ec30b9a3fbb41fe6a66aa) Signed-off-by: Khem Raj Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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()}" From patchwork Wed Nov 19 15:05:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74985 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 538C6CF3953 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9156.1763564757365188092 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=EoDUBhJB; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-202511191505558b2ef9bb3c00020749-0ecfqw@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202511191505558b2ef9bb3c00020749 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=AGI8F6yXhUcW0sfq7OAntne7OdPodNK/v6Yig0UQYJ8=; b=EoDUBhJBdBKaWv03AabKGjwoVWU24N+23dkELfCfLBe9V3wMiBCIz+6XTuqQmfS2Wa7zCe BB0YeJ6jDBG3no6HvtPW0e+OJ1XR4PCIIR3xJKYz4rDzyoK/PLdHAM06mi8INUu5OdM4BLH3 ldzsEbpSN5lktEZWIDLES0vFDXp05cCyVaWV70Z+wNQEXC3oXScLKY6nNrdOKsuYvnnlsgJj C0nzfwfX83CxaQhe5+1j6QMfNbTMNTxJkGEAAftwT3fhT1eI5IK5M6BZEok72a4EjAtfnoAL 0Sd03gNOggtnh47pnggqF8mjxiNMoXzLrS4VUx1cU5dG5iLXSwv1//AA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 26/35] go-cross-canadian: fix binaries install and GOARCH Date: Wed, 19 Nov 2025 16:05:13 +0100 Message-Id: <20251119150522.15477-27-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2606 From: Osama Abdelkader 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 From patchwork Wed Nov 19 15:05:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 75004 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id D0199CF396A for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net [185.136.64.226]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9151.1763564756836769542 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=dmGLA1/h; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-202511191505557e3457b3cd00020778-a9emof@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202511191505557e3457b3cd00020778 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=vsYsOITiOkKkxpOm1l0TxCkSZsw4JYxDWRAIozDILR8=; b=dmGLA1/hafCV/FyyZXPp256Mlg1hump2J3TbpeB2fBbdj8f3IYscpPPA+S/392kTUkQ0KY S1Rfu++GALlMUgLNPaKxu4LRu2WVTP8VnwlQdfm09ZIoK4xCkaqttFZmTpmRbBFQBIAwPfin dgjxbv2bBxXyZlsnPtH22m5vBH2i+2aUCQ7Q/sqj0hJPlNG5J5h18KshuIiiFG5DdSR4Sngf gzKwtpvV4mjJdB0SFgp3UaaaNwb0Sq5JVwP6Et4W43VNFwT98C1tVZIJC27uL9NhgqfQGXkw vXJFje8V+9RV0bcV+JTxzAFdIPaGyEdAK1waZpHsRwKU4qat/l/LZHfg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 27/35] go: upgrade 1.24.6 -> 1.25.0 Date: Wed, 19 Nov 2025 16:05:14 +0100 Message-Id: <20251119150522.15477-28-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2619 From: Peter Marko 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 Signed-off-by: Richard Purdie --- .../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\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 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 From patchwork Wed Nov 19 15:05:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74995 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AE87ECF3963 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net [185.136.64.227]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9161.1763564757829004920 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=YQl8RKVj; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251119150555cb361ece4e000207ec-zxfuut@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251119150555cb361ece4e000207ec for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=EoQd1ZxAWPnxjbBxd8U+AZgL/Of034FoFqWODs+GcT8=; b=YQl8RKVjJZVqIRRIh/mLmR9OK3TXVKTxwqEq8401Y+AP/IwFhAA5fzPZxuNL4xSWAaChf3 4/vrPPl0AV/UCuWoABXu3lXKQ9BA9BvDzGLOP/cA1XLs5kKPPyIL42RYFGqS0XJtdaXboq3W b5nNSGGqr/xrIkMsR/2XoiGlSQM3cOFkDMYEkbVCB6LdpaGRGcK1Depqe1zSZ70+2Vb0C+jC rvVh0PPMY4HmttNAgSz9M2N5m1WS2CR2a38IoV+mYI5lB7rYy0pVU6HQZQwhzjGikWQXCfrx MhkX4rWQrjZtcLesDdHDCyUhHOysEPbH5DKHezYMd3f1YB+O1z6AptvA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 28/35] conf/layer: switch to golang 1.25 Date: Wed, 19 Nov 2025 16:05:15 +0100 Message-Id: <20251119150522.15477-29-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2613 From: Peter Marko This is extra config for mixin layer not needed on master anymore because there this variable was dropped. Signed-off-by: Peter Marko --- 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%" From patchwork Wed Nov 19 15:05:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74996 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83954CF395D for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net [185.136.64.226]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9150.1763564757675496587 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=GV3hLCEO; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251119150555376b7523b3000207ff-aqmwiz@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251119150555376b7523b3000207ff for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=CYhYbronpTk3TRPuwp229ONExggmZV5ycp1z7yrgRNs=; b=GV3hLCEOvrEi2Yr0Z3SCsUsEsZ+p4sr8FfFMvALCEFxP8+nHdmHv/s9J5n7+vO8Fy10UXB ZMq8+eJXeS27cyiEa8hqkLs16zanXc1aHOWLsLaf2itG4HU0+TMEtd4OShpk6Oq67NPQv6BZ LsVidkX2mfRYxLP3UjM+rSCQdT71Tl303VM130GpLs1yBltPcQlMhlI53gVc10tKM1kIxhog 9vMRqrvc4BoDp0SEXNvVAxQkb9CzIZdH2pCpgFACSkexBoicUUB8FqZUnn1pKpn53G8TCMpU 3d333x1SgAXKm2w/Z6z1IiewR1AtrDmgPPELBde6lCzGBCKBNVzOqmww==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 29/35] go: fix sigaction usage on i386 platforms Date: Wed, 19 Nov 2025 16:05:16 +0100 Message-Id: <20251119150522.15477-30-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2611 From: Randolph Sapp 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie Signed-off-by: Peter Marko --- 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 +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 +Reviewed-by: Cherry Mui +Reviewed-by: Dmitri Shuralyov +Auto-Submit: Ian Lance Taylor +Upstream-Status: Backport [https://github.com/golang/go/commit/c5737dc21bbac9fbefc35ac9313e66291d66b382] +Signed-off-by: Randolph Sapp +--- + 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 + #include +@@ -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)<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 + From patchwork Wed Nov 19 15:05:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 75003 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E90F8CF3971 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9146.1763564756222933574 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=a3lbMnDE; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251119150555b67207c2d70002073d-6zm4sc@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251119150555b67207c2d70002073d for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=83F4MSkCiwdZGE/WhW4Oo7sfEIbVooo9QZMDGu9ia3A=; b=a3lbMnDEFYoM8vHVwbx2uw1UJ051Si8b22ngvqP8hm2L2SLeU4HajSqynctPUqChwD0fkF 5hzh3xbXi6hwEvrpu7gc2PS4MCCFyrU3+h6NwakWXYyupjNoU1zU1ZPEttA1Iw5eyLm+79zD 9m0QSb7sNmvHPjv/5AKgfUtxSs4YNsZwxF+aooF2jwC103Hh0f2/dOPsyFR+CbwQ1xpfdAr2 AZXTG0154DorT3+zA263tzQxY6b8cvrppSG0E303eBcRHHdgnV5F0NR0nGapPcN/Y/7TeNHw SwktNMqnmCnvW+cE3seMT7RsWG8+iGBwfNeFHs138SYQ0fwOQjLBp5sA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 30/35] go: upgrade 1.25.0 -> 1.25.1 Date: Wed, 19 Nov 2025 16:05:17 +0100 Message-Id: <20251119150522.15477-31-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2615 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 75001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AAEA7CF3966 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9146.1763564756742824217 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=L5YOn1mc; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-2025111915055500a88412c00002071e-_abeap@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025111915055500a88412c00002071e for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=0y+vwEDLEExmVUGByzS6F3EbAQfpclJl3fmRKQRbP1w=; b=L5YOn1mc2FyWNsK9stB99idv+INQak4b+Djmcpi2m8BN1NfTwN3OrTuxRcYUken/ClNeZB bO5JixYQLIILAKRcMw65raaTUtYdpzmRzcXX4fNvpr7fCPKDVhG9M3nyu+rQHuQ6fvmy+/7a b4WyDSfQL0UOux9E05V02+hwiYxzZThO2lG7xbNKFA9OcO2iJpumxZeTF0/I/ddvuCP4HfMQ JMqJBQIUMWUe8Kix0yBR3brRtxRIP8heVY6ZTNTsL+0ObVIg7hpYbj0tqxoNjvTtVbj5idIR PRbvVyz393KzJB0m9k7fRN6HsE0UugI8QWipXsyPxtWF3MIiJnOkoEVg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 31/35] go: upgrade 1.25.1 -> 1.25.2 Date: Wed, 19 Nov 2025 16:05:18 +0100 Message-Id: <20251119150522.15477-32-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2604 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74988 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 615E2CF3955 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net [185.136.64.228]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.9145.1763564756691608539 for ; Wed, 19 Nov 2025 07:05:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=NlRhpI8D; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251119150555aa6156dd6500020747-a_f_bb@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251119150555aa6156dd6500020747 for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=ig3Oa3dluqNTGgD231y33yMI3NO4Ykq4rfnSXCr+878=; b=NlRhpI8Di599Qug2V6ReqNP2lzWupmhHLORWdTYJ6RsCE3pSYQXQRFeXlPFsWVK1Lt1slo mJT/xXRF73shelpqwYd8ZHw03D402+93r/ODhwtwCTbGepDCu96Fiil9p4b18MbruJ5xnOMP 5VMY6VY5igtHmyI7dzh8lUmYPS8TEdrd/CQrIsAbbhJcPSX8DbnP8GpWfuPi5+uYy+gOxCTW laY3wwGyntEAiWCZ6qqEhknWAo1vqO6aNcs/GW65aHKkEKuPDVVbxGTg4F0J9uioW3RvdTfU uL46ZmMTgMjgMw4z3e1N/O8g6PC/vjVzg2TMTw8UhOVR2u11H6VAwaig==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 32/35] go: upgrade 1.25.2 -> 1.25.3 Date: Wed, 19 Nov 2025 16:05:19 +0100 Message-Id: <20251119150522.15477-33-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2607 From: Peter Marko 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 Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- 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\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 From patchwork Wed Nov 19 15:05:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 75002 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4B79CF3969 for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9154.1763564757154090915 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=bwAvIEEF; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-202511191505557d66ef3698000207da-bbymbi@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202511191505557d66ef3698000207da for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=ZjRQU2aLx8OU4129NyGrk9ZJEIZ9jHS7DQktkdaTFzI=; b=bwAvIEEFFhPpX24Ivw80oPKIqfAGuKWnHWCfVXqRMiXuiE1BEM/+FCNJuN5DQaKAlntH55 4lAPZlSb0vBvucviHqhxQCA4jU97YQIwaDpNAuA6t+ngLLexZdfi53b7AQQPAeH1IW+5SmMH Z11a/Q/Eo/KK01bbXtdI/R9s5ELFtlGa9EMUsvIVyd+gSI5R31BV0+noaYuoZDLIr+M/ZYaK 1yF3Cg02d1eBXKTnFW2e1ekGMmwGUcO46rFbSGE4HitixLNbJLo+IlkYJD9GCHJphToB3gMh TWtg9icsvC+FvIYLbrfh7KrKhczNT5SGszpBrmnMcojCCKL3Gk81EeHw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 33/35] go: upgrade 1.25.3 -> 1.25.4 Date: Wed, 19 Nov 2025 16:05:20 +0100 Message-Id: <20251119150522.15477-34-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2617 From: Peter Marko Upgrade to latest 1.25.x release [1]: $ git --no-pager log --oneline go1.25.3..go1.25.4 f2cd93aa05 (tag: go1.25.4) [release-branch.go1.25] go1.25.4 83885f3c22 [release-branch.go1.25] encoding/pem: properly calculate end indexes 5ba37a3677 [release-branch.go1.25] cmd/compile: don't optimize away a panicing interface comparison 8097b1915f [release-branch.go1.25] os: support deleting read-only files in RemoveAll on older Windows versions 4942c74d04 [release-branch.go1.25] Revert "crypto/internal/fips140/subtle: add assembly implementation of xorBytes for mips64x" cd21a7b31b [release-branch.go1.25] Revert "crypto/internal/fips140/subtle: add assembly implementation of xorBytes for mipsx" bf95b76739 [release-branch.go1.25] runtime: use one more address bit for tagged pointers bbb7627123 [release-branch.go1.25] cmd/compile: prevent shapifying of pointer shape type 7e049e5c31 [release-branch.go1.25] encoding/pem: properly decode strange PEM data f6db7350e1 [release-branch.go1.25] net/url: allow IP-literals with IPv4-mapped IPv6 addresses Release information: [2] [1] https://github.com/golang/go/compare/go1.25.3...go1.25.4 [2] https://groups.google.com/g/golang-announce/c/tVVHm9gnwl8 (From OE-Core rev: 116d7fc8dd940c781d5ee0801d3ddfb79a82d357) Signed-off-by: Peter Marko Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- recipes-devtools/go/{go-1.25.3.inc => go-1.25.4.inc} | 2 +- ...o-binary-native_1.25.3.bb => go-binary-native_1.25.4.bb} | 6 +++--- ...cross-canadian_1.25.3.bb => go-cross-canadian_1.25.4.bb} | 0 .../go/{go-cross_1.25.3.bb => go-cross_1.25.4.bb} | 0 .../go/{go-crosssdk_1.25.3.bb => go-crosssdk_1.25.4.bb} | 0 .../go/{go-runtime_1.25.3.bb => go-runtime_1.25.4.bb} | 0 recipes-devtools/go/{go_1.25.3.bb => go_1.25.4.bb} | 0 7 files changed, 4 insertions(+), 4 deletions(-) rename recipes-devtools/go/{go-1.25.3.inc => go-1.25.4.inc} (91%) rename recipes-devtools/go/{go-binary-native_1.25.3.bb => go-binary-native_1.25.4.bb} (79%) rename recipes-devtools/go/{go-cross-canadian_1.25.3.bb => go-cross-canadian_1.25.4.bb} (100%) rename recipes-devtools/go/{go-cross_1.25.3.bb => go-cross_1.25.4.bb} (100%) rename recipes-devtools/go/{go-crosssdk_1.25.3.bb => go-crosssdk_1.25.4.bb} (100%) rename recipes-devtools/go/{go-runtime_1.25.3.bb => go-runtime_1.25.4.bb} (100%) rename recipes-devtools/go/{go_1.25.3.bb => go_1.25.4.bb} (100%) diff --git a/recipes-devtools/go/go-1.25.3.inc b/recipes-devtools/go/go-1.25.4.inc similarity index 91% rename from recipes-devtools/go/go-1.25.3.inc rename to recipes-devtools/go/go-1.25.4.inc index c29f4d6..f88d7fe 100644 --- a/recipes-devtools/go/go-1.25.3.inc +++ b/recipes-devtools/go/go-1.25.4.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] = "a81a4ba593d0015e10c51e267de3ff07c7ac914dfca037d9517d029517097795" +SRC_URI[main.sha256sum] = "160043b7f17b6d60b50369436917fda8d5034640ba39ae2431c6b95a889cc98c" diff --git a/recipes-devtools/go/go-binary-native_1.25.3.bb b/recipes-devtools/go/go-binary-native_1.25.4.bb similarity index 79% rename from recipes-devtools/go/go-binary-native_1.25.3.bb rename to recipes-devtools/go/go-binary-native_1.25.4.bb index 3f939ca..cf94e8e 100644 --- a/recipes-devtools/go/go-binary-native_1.25.3.bb +++ b/recipes-devtools/go/go-binary-native_1.25.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] = "0335f314b6e7bfe08c3d0cfaa7c19db961b7b99fb20be62b0a826c992ad14e0f" -SRC_URI[go_linux_arm64.sha256sum] = "1d42ebc84999b5e2069f5e31b67d6fc5d67308adad3e178d5a2ee2c9ff2001f5" -SRC_URI[go_linux_ppc64le.sha256sum] = "68d1a08bf3567f330717d821b266a0be1c5080bd05dc238b5a43a24ca0c47d7c" +SRC_URI[go_linux_amd64.sha256sum] = "9fa5ffeda4170de60f67f3aa0f824e426421ba724c21e133c1e35d6159ca1bec" +SRC_URI[go_linux_arm64.sha256sum] = "a68e86d4b72c2c2fecf7dfed667680b6c2a071221bbdb6913cf83ce3f80d9ff0" +SRC_URI[go_linux_ppc64le.sha256sum] = "38c8ac8463537c99fbc1ef368f243b626144446c09db71b1d20634a4237c966d" UPSTREAM_CHECK_URI = "https://golang.org/dl/" UPSTREAM_CHECK_REGEX = "go(?P\d+(\.\d+)+)\.linux" diff --git a/recipes-devtools/go/go-cross-canadian_1.25.3.bb b/recipes-devtools/go/go-cross-canadian_1.25.4.bb similarity index 100% rename from recipes-devtools/go/go-cross-canadian_1.25.3.bb rename to recipes-devtools/go/go-cross-canadian_1.25.4.bb diff --git a/recipes-devtools/go/go-cross_1.25.3.bb b/recipes-devtools/go/go-cross_1.25.4.bb similarity index 100% rename from recipes-devtools/go/go-cross_1.25.3.bb rename to recipes-devtools/go/go-cross_1.25.4.bb diff --git a/recipes-devtools/go/go-crosssdk_1.25.3.bb b/recipes-devtools/go/go-crosssdk_1.25.4.bb similarity index 100% rename from recipes-devtools/go/go-crosssdk_1.25.3.bb rename to recipes-devtools/go/go-crosssdk_1.25.4.bb diff --git a/recipes-devtools/go/go-runtime_1.25.3.bb b/recipes-devtools/go/go-runtime_1.25.4.bb similarity index 100% rename from recipes-devtools/go/go-runtime_1.25.3.bb rename to recipes-devtools/go/go-runtime_1.25.4.bb diff --git a/recipes-devtools/go/go_1.25.3.bb b/recipes-devtools/go/go_1.25.4.bb similarity index 100% rename from recipes-devtools/go/go_1.25.3.bb rename to recipes-devtools/go/go_1.25.4.bb From patchwork Wed Nov 19 15:05:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74992 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8C4B3CF395F for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net [185.136.64.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9160.1763564757742807854 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=d9MS8VrU; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-202511191505557500f511100002077c-vreu09@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202511191505557500f511100002077c for ; Wed, 19 Nov 2025 16:05:55 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=xKNtNJ/MM0UhNyQ1RBuvO2KIyd0iUUIWNKUKCr5izH4=; b=d9MS8VrUrh+LinCDayHzKvXKqqQ0kTuk2GsLiOVLqcWKv/Q8Ms5qAXqFSWOSqgDNXTxlwy PYW8qKKfmpWSCC3njW6nXk/Rt9nSwRTXik0lHwGRbzdKNoLxzV4J6u9aFTMRfr5IjmJ3H6No dvgGzEHGyXhU/jGcWfTSCJKEsMMpaji3ACfw6LwPS92ANIwwjpe0S1sPycNBkKoC2/LJnuJA 5oh4QRlSZ+KLiEAIGLB//rSb0QRWoqb6Ob7QnySpBseUxUNQeu/evKIMzRynyTB9D0vUKp7m EE8QgsW5AuZEDUQdK88dZOPgRi9rGvHIpu4zt1vujkUWktMqMSqnSNdA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 34/35] readme: update to markdown format Date: Wed, 19 Nov 2025 16:05:21 +0100 Message-Id: <20251119150522.15477-35-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2612 From: Peter Marko Changes are inspired by scarthgap/rust README.md file. Signed-off-by: Peter Marko --- 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 1aa3809..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 Scarthgap was released in April 2024, Go 1.22 was the latest version -and officially Scarthgap 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 -Peter Marko diff --git a/README.md b/README.md new file mode 100644 index 0000000..47cc7b4 --- /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 Scarthgap was released in April 2024, Go 1.22 was the latest version +and officially Scarthgap 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/go]' 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 +* Peter Marko From patchwork Wed Nov 19 15:05:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74997 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id C54A0CF396B for ; Wed, 19 Nov 2025 15:05:58 +0000 (UTC) Received: from mta-65-225.siemens.flowmailer.net (mta-65-225.siemens.flowmailer.net [185.136.65.225]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.9153.1763564756992869693 for ; Wed, 19 Nov 2025 07:05:58 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=f1XFLYmX; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-202511191505557083f92abe0002070f-laf_xz@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202511191505557083f92abe0002070f for ; Wed, 19 Nov 2025 16:05:56 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=peter.marko@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=1ifABYr0rHTn3JR/M0z0AZBWT9i931vdlDe1snEksgQ=; b=f1XFLYmXCiGEeE9GqB3tizpt+g08ww2i/m/m3t8vzioGJJq7AmZkbYJ33jD88pIji5cj15 Iddc+nVHNRw23h/GoXHuV7+dmi4CTuRVfuETiqIwhSJVXCFi2AS79K0/iNpsWyOzsXB8Do8r s6Yb3GqnZM+BtZcT+DEwKrbfL4aS6yNdI49f2CzEcGMZLNwGgL1av37/KEX8272UyukqHl0m oXc5GsYCuk9/OS9LSY5tcG17oP2lBRmDOPx7t7VXMoOU4WlIz5WHp8pKTIHZ6kIsyRw0o2+K MTBNwGs3SrFKB44/TOo1vPvOpCyn8QpASEuwgx61eSiBafer6NnXpBMA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][PATCH v2 35/35] readme: add QA chapter Date: Wed, 19 Nov 2025 16:05:22 +0100 Message-Id: <20251119150522.15477-36-peter.marko@siemens.com> In-Reply-To: <20251119150522.15477-1-peter.marko@siemens.com> References: <20251119150522.15477-1-peter.marko@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-256628:519-21489:flowmailer List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 19 Nov 2025 15:05:58 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2618 From: Peter Marko 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 oe-selftest - INFO - RESULTS - gotoolchain.oeGoToolchainSelfTest.test_go_dep_build: PASSED (16.55s) Signed-off-by: Peter Marko --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/README.md b/README.md index 47cc7b4..080cbfe 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,47 @@ Maintenance Layer maintainers: * Jose Quaresma * Peter Marko + +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) + ```