From patchwork Thu Nov 13 12:56:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74429 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 89193CD6E73 for ; Thu, 13 Nov 2025 12:57:28 +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.23130.1763038637349137306 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=fdOtDEhP; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-2025111312571417741533aa0002071e-7ggf8i@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 2025111312571417741533aa0002071e for ; Thu, 13 Nov 2025 13:57:14 +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=L1QMOXlA4qywhtBkp0BH/ThU2AK2noqA9TnN9iEN+PU=; b=fdOtDEhPfVZZv5ybK1SgBwzGR10v/UT/Jb5CsMf/y69Ts+g/KAmJ0ehLfHdcKJjzt38UfD TlTmvBCfAMJCqoHg7jHhHbFAkWkmAhDK/RQLkkEMrHhKIJsoaKGg6bZU9OCvHBEY/fThWz9D MYcgXbreX90gmWf9LvH65yHtNwyY+Jw9xsiL3eu0lHdQ3EoBEyQJNWal/7l/dEciU1AXpFHW 8dVXe8EoSMts7AfaFLgWyE8ODodw8DQWZYhdtB+qjzwUFFrkqpjhLIskck9ScmRHjfgwUxlo 4XDVn3qWPz9rXLhyCoEooWgdmtKeOHXO+RGXeapgMKr0XhTOgVShGu0g==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 01/34] Initial commit: add license, readme and layer config Date: Thu, 13 Nov 2025 13:56:39 +0100 Message-Id: <20251113125712.18914-2-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2524 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..9e270f2 --- /dev/null +++ b/README @@ -0,0 +1,15 @@ +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS. + +At the time Kirkstone was released in April 2024, Go 1.22 was the latest version +and officially Kirkstone supports only that. This thin special-purpose mixin +layer is meant to address this issue by backporting Go recipes from the master +branch of openembedded-core. + +The patches can be backport from openembedded-core with: + + git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \ + git am --signoff -p4 --directory=recipes-devtools/go + +Maintainers: +Jose Quaresma +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 Thu Nov 13 12:56:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74433 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 C6B6FCD8C85 for ; Thu, 13 Nov 2025 12:57:28 +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.23158.1763038637497159150 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=JIMZQNuB; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-2025111312571466c96cbc1200020700-ednof1@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 2025111312571466c96cbc1200020700 for ; Thu, 13 Nov 2025 13:57:14 +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=XJJycwOvGTWgyTpirUAEAq1t8sT6WxgWFDUJbXWHVjs=; b=JIMZQNuBOQOavh7GGv4Fyo5vPUN8DiTPHi9zVoqSEMmOb9ulE1LWRH4I6OtO7LzhCJPqIl zI6L0C17DE6vtzc59b9p0VXgydsqX86DDbdhgm5ptYOQjt7dx3fnT1hjROIKdM6ZNel6m3gr 56HVpcpVBrtN6h3C3HPtBo1X1QUK5IsGmaxwWEgKbI55e2nLl8cQ2Sqhb9cJ35C2UyLa6oRZ mMV8pg27dWzbj2sxe3rO68WbiXrnTzORdl5otnpBo3qqFwKAWoj6BmeJoO5rNgwMZaJI5QKk 7CftM8IT68wHB7gTO2Wz0JcDYPZL9W9NTjV++RgkWm7fO7L/wMT6hj3Q==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 02/34] go-helloworld: add from openembedded-core scarthgap Date: Thu, 13 Nov 2025 13:56:40 +0100 Message-Id: <20251113125712.18914-3-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2516 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 Thu Nov 13 12:56:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74444 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 74B9CCD6E6D for ; Thu, 13 Nov 2025 12:57:28 +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.23157.1763038637497002556 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=f1uZJqtB; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-2025111312571436fa21df8700020768-x8_ehg@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025111312571436fa21df8700020768 for ; Thu, 13 Nov 2025 13:57:14 +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=Cayj8IqfA/p3Sc7zjtJIBRE8ZTGge7l2n4636+lIxJ8=; b=f1uZJqtBcGitO/sGuFw1hNfJu1pmsZCjchKE/pY8uQ+j3tVe67Ya6uYiQG2o6vq2rNuwIb PVVy4dmA39gYdNU4vMJvkPH/O1xo4xFeGLQ5kqW52qqA7V4xWLQimtZwkt6m+e9pW3qtZaJC HfyjFGxud1r/Z34LRDlO2pSCaj8LIQCklYJBTJUV8qOaSHfzJpUrTIro0rDMqfJWbRJcqgon m9l7Ru64xu07nMRqPb3JTFiQWKBj+BJQgRqB8+yPtnBTtbbgG6EyIDx+3UhOGmK97hblu/uK Kxyeenff9T5olWVqo8ANi2AEEfZj74vSTPySKAqNZKydwCgZWe4RPxPw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 03/34] go: add from openembedded-core scarthgap Date: Thu, 13 Nov 2025 13:56:41 +0100 Message-Id: <20251113125712.18914-4-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2527 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 Thu Nov 13 12:56:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74425 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 5E2ACCD6E6C for ; Thu, 13 Nov 2025 12:57:28 +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.23132.1763038637349418038 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=kgdYC4Oe; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251113125714f2845512ea00020760-ek8whf@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251113125714f2845512ea00020760 for ; Thu, 13 Nov 2025 13:57:14 +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=kgdYC4Oe2VXiKwaqOEpJvmt0jNUthje491QZtaFZsXaVW0w63F2OqzLJQnGPxvcoxlWbv8 kqJ5FYWqOvCWyJp1spGe34Nyjmm1GykYlg/N+SBDPWwV9c5vqDPR6PKEmw/LdpaDUA6iX7sO 7O/Lw7o5vBUSxwZqahF6si0WUupmrB98vp34mNUY1bWg4nKmX1oRZKwfaKyxL4AF5p6vIHhQ Pa4D9rtwcQ4Z7RvRPzEOePbupW3fsNHEcKNKVLcwvV5U+BiPPLO2qb+tCKSN9YEzyOHQfmM0 bPX0xaKwL/JcyowUctGnQWbCS4d5Lm7ZyhcckDZSb2zYJYcqBbIOoOPA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 04/34] go-helloworld: update to latest revision Date: Thu, 13 Nov 2025 13:56:42 +0100 Message-Id: <20251113125712.18914-5-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2513 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 Thu Nov 13 12:56:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74439 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 0A7CFCD8C93 for ; Thu, 13 Nov 2025 12:57:29 +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.23137.1763038637495893260 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=UUr34UmL; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-202511131257142cda2c9954000207c6-fe8mlt@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 202511131257142cda2c9954000207c6 for ; Thu, 13 Nov 2025 13:57:14 +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=UUr34UmLHuc6rcnKo3iLhAVVKwzeouiIh7X2RPIH8PyU974N2XyIY9B8C1gMrgqlPzfD9v K5EggaRfzYWIXuohvnzssyA7r3km7Sg/W6kQyIA7WQJ0vy6TULDyr4AHypT3UYJaeKFescsL X6rHUV9gdLy24FEv8+lXflWg5pIEEB0w+uuE1muxXNTIviycJpcrdIRXlHzWXVmR/ApnPwHN v3Rhi+odALVVjN9CCZq+PxTy/pEIu5bqMDnVISu6qKPBYvOtDp2t0WFkpgI6Nir+Y0aeMwwf ugupawyoElMtp3kPo9/kEhEALF1tw16QBQLlJCp+WhRDrdP7iJWRxIUQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 05/34] go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX Date: Thu, 13 Nov 2025 13:56:43 +0100 Message-Id: <20251113125712.18914-6-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2520 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 Thu Nov 13 12:56:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74434 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 DB40BCD8C8C for ; Thu, 13 Nov 2025 12:57:28 +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.23161.1763038637499248427 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=js5fJ69a; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-202511131257145aff3a23130002079a-dja1ff@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 202511131257145aff3a23130002079a for ; Thu, 13 Nov 2025 13:57:14 +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=js5fJ69algHwcXsLIOPVjEDlPHJCFM6qHPCOFwhMpT/wrTFMOQ+4wITZ1rj/Y+iBal+LIQ eEnSiC0qzHmV4kqyiG9h/t0J8HKQuh0Sj4T7m4c3X9D/eVulM73CWoOlD4vShqw37U7LGAPX Q4Qw4xXhaWsxSE/Tp3lAcKoFwskTjQkvaAlDZUIsIDpPAaU4oy0De0sQ9gDnzplLjTCAGCyV 4JfSsxLxFjzFx+ExHtZpDyRchkybP0qZyIQFdFjyUKK6gx3I1UvPmk7MS3PtpM/s0ecTCEvL cypCY+kZZVI5QlMOmcoPCVoHhlyzLLD9KjK7+EEX8mJmVCboDJyyfZfw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 06/34] Revert "go: Drop fork of unpack code, mandate GO_SRCURI_DESTSUFFIX" Date: Thu, 13 Nov 2025 13:56:44 +0100 Message-Id: <20251113125712.18914-7-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2507 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 Thu Nov 13 12:56:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74440 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 EAD54CD8C8F for ; Thu, 13 Nov 2025 12:57:28 +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.23156.1763038637368816286 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=L2dBNoyU; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251113125714d2d92a13b500020788-ckj_mn@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251113125714d2d92a13b500020788 for ; Thu, 13 Nov 2025 13:57:14 +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=L2dBNoyUD8A5EWowYlScnm6H1Rvmcn6bX9iu2oPlVvYD7thaHHFW7tOJZJBEuLZyj7q/rR yCeOu8OYASbRoL0QNrNTFtwkNctynone9sXiexy/Umugfg1L1Kk9tWrhfZamE2PK8vHwwLyh Y3gk2civ63lVgYtPxGNtaJkfhFanwpHjFB/MnSy5F/1xxV8HLraJy8Ue+jvWwtrkHXNQBUq1 Y2oBuKLoyt/EHdhnFiu87fjVSCgb4lTK2e5RAbBSjGG5FK8XLbbPGe3wU/l+m3+NE3YHHSzl ztgB+r7Vt/U68Q+qerwAs+5TfYjobCDvG2EktFGFasyQ0EPFB4CyoBhA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 07/34] go-helloworld: update to latest revision Date: Thu, 13 Nov 2025 13:56:45 +0100 Message-Id: <20251113125712.18914-8-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2511 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 Thu Nov 13 12:56:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74432 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 AD57FCD8C80 for ; Thu, 13 Nov 2025 12:57:28 +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.23160.1763038637499073163 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=UnYyfujb; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251113125714295d936f7c000207ba-ecvnbg@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251113125714295d936f7c000207ba for ; Thu, 13 Nov 2025 13:57:14 +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=UnYyfujbzTA0PF5HoK3o51aYh0+6CIcr/X4At8pXVtoplBEMoxFo2hJw5sYzZy+VO3wvLD 91+2BnXZi31y3GcVYNu1/f9N8xwKI21VE4J0uQF887TDAMePWnxOavuJLUobXpv1tMXdalaZ YbmZUzobjh33qobY3BXgkHGs+wmtjIPazRuMDC56m5AOJsgF4eb7jDKcT882ZQHTbGEzFghk vrLQiMDt/7mC+DTkf4sIPkem39LqrXdbZDpeSXvfo39lCjT4+azR9HsB3p4vR0ejNyvVqfh9 7nY8BXz2cDitr6SKspoFKL3Ujvn/sSjLPXUS68JejUQCeK6EeiypOOfw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 08/34] go-helloworld: update to latest revision Date: Thu, 13 Nov 2025 13:56:46 +0100 Message-Id: <20251113125712.18914-9-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2519 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 Thu Nov 13 12:56:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74413 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 1EFBACD6E55 for ; Thu, 13 Nov 2025 12:57:28 +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.23133.1763038637367351346 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=h+XzlNNT; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251113125714f134cddc1f00020737-cu0zic@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251113125714f134cddc1f00020737 for ; Thu, 13 Nov 2025 13:57:15 +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=h+XzlNNTlGL86dK0EKussEmpB+p0J0wx5RGeOhdb31BrZt1WHc4Q+3AUAxAGvv57MILXHe o2VpxQXd+qDTOYH3Rc1smSddRx2NuKkLdZTVQVH+7fPYmhu0HmrTJFToPlw8IJVyHHpxQyU0 6JjdWAHw9BC6QNEH63MQvXKk93L/VrzVUXZAmMCctHRmKnBBTYumrA5ss8QtwelgJy1WnJL6 pUyEOgnkJhZHWzvyzdAhlakjIKqWs+UIcvRMt+mRXl4caY6HjoXugpNvCV6Y77KD7oEUtnk3 XVaEvgjEa4tKjmvE9aR7zyhK8oh1vGRJpmXD8759lAI19cNa58HAB+Fg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 09/34] meta/meta-selftest: Fix variable assignment whitespace Date: Thu, 13 Nov 2025 13:56:47 +0100 Message-Id: <20251113125712.18914-10-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2512 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 Thu Nov 13 12:56: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: 74430 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 987F3CD6E7A for ; Thu, 13 Nov 2025 12:57:28 +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.23131.1763038637349290657 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=TH2cwGdm; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-202511131257142ebd74db7d0002070a-2zapxy@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202511131257142ebd74db7d0002070a for ; Thu, 13 Nov 2025 13:57:15 +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=TH2cwGdm2JXHSOfw6in31U/G9mZi2QzeKfyjwT5mKFiMgcLUFbKZhJvDi39D3RtU0y0XH+ uAJScAyWryd884ATnk4oEJi289eblBkzaq+76IBnBydQjLtdBH84LhR2TtbRM4SAQXSsT1Hu U6FY99IWFHv25pKcNz3cZEqySHBrBzaBwfMxeXLyF6czE6ixrFu4h1c6IC6cQNej69bOq8UO aTtMPkidEStBGNuw+wr6cQacUj6K92PpeMKjMs0sWT7CzxHovD1RsMO5etRNNfD3EvR1c9w7 YveOiN+tr7m4AmPbOOvXYHWh9ALQqJau3BIGagcroJgUPl1XMIiAvS+g==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 10/34] go-helloworld: update to latest revision Date: Thu, 13 Nov 2025 13:56:48 +0100 Message-Id: <20251113125712.18914-11-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2522 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 Thu Nov 13 12:56: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: 74420 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 475A3CD6E65 for ; Thu, 13 Nov 2025 12:57:28 +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.23134.1763038637367572578 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=gxOn0ZN8; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.228, mailfrom: fm-256628-20251113125715a3f8fdc3f100020748-tpqaxv@rts-flowmailer.siemens.com) Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20251113125715a3f8fdc3f100020748 for ; Thu, 13 Nov 2025 13:57:15 +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=EBMB2z5k/2fJE/o8O/kpwbDehnID10diD4nT+nz+UN0=; b=gxOn0ZN8oJ8FCqW7Zzb/DQCLfjIJRfuKADmWD/I+AqHl/tQ6YiGE0AFpuZ7KjQu7Ew/EMR UKYIMAL2qHUHXv5TT8QZyUY1afDSSau1XfEwH6rzOZ3MP2mW9SuV9RNJMSMMrDk8pGXaAFpH qHCfag4N4I4XltIR/WoP705ZodLN8iNyp5AoRSjFHEp1FnWI6/v5Soln4MHUEHP9l2c0xJn/ JG/VQz+qFRLeL15B34Ed84xoRCV4QBdBoz9x1rLbL4DjLry194j6BwOqf5sQpdWMF+xAoaOk +y8MmFJiai1zXF8xr9zkhW/IA/eVwhXlLuQrvx/PV/d9A6lklqosKk0w==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 11/34] go-helloworld: fix license Date: Thu, 13 Nov 2025 13:56:49 +0100 Message-Id: <20251113125712.18914-12-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2529 The example repo doesn't seem to have ever been under MIT. It started with Apache-2.0, later changed to standard go license BSD-3. The license file exists in the sources, so use that one instead of taking it from the OE-Core license directory. Note that this was already fixed in scarthgap and kirkstone, but the patch was not merged into master. Also the old releases still had Apache-2 license, so this patch is different now with new version of the component. License-Update: Fix license declaration. Reported-By: Quentin Schulz Signed-off-by: Peter Marko --- 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 Thu Nov 13 12:56:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74438 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 DFB51CD8C8D for ; Thu, 13 Nov 2025 12:57:28 +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.23155.1763038637350289846 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=nYDNjkTm; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251113125715541cc90c9d000207bc-uuyv8d@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251113125715541cc90c9d000207bc for ; Thu, 13 Nov 2025 13:57:15 +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=nYDNjkTmmSjDEEouZgY+/BUgSfie7FSCBuRk8jmmVN03am5Pee/i9MlgUV3FjM3wkdAZri eudIgcHAXQzzh+79LdiHC4ssD5L767cbh0khLIXREHwTFEgo3B0U6Y7M79CHAGcMbyyrhf7A +wgBcHzDNTo0kRj+/9YyioulTi1JBYdY8uf2F/0+yxoezYZgnG9mBOdsLwzdg3kYgEYZA9B/ 6E0E1Z2W82/jdZF6PAa2aiF9Sn2yyOIP+xGoCd8Nt26toZ24RirU36CcdsFOlLT8Ec9J13N0 EQ2WKunHXjIKcYWeU0gTJz2Tw3QSyIHc1HZvNXk02zB4Ais144yOSlBw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 12/34] go: Fix to work without gold on aarch64 Date: Thu, 13 Nov 2025 13:56:50 +0100 Message-Id: <20251113125712.18914-13-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2508 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 Thu Nov 13 12:56: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: 74442 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 8E3BFCD6E78 for ; Thu, 13 Nov 2025 12:57:28 +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.23164.1763038637500312911 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=NQh0UP5p; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-256628-202511131257158ab9f294f2000207ac-_ytxts@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 202511131257158ab9f294f2000207ac for ; Thu, 13 Nov 2025 13:57:15 +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=NQh0UP5pC6msut8r3ZSF14GpIWrIlYet7PSP9SK8QnprenHEnq6l25bSm+9n1dm1stsb4y plvVanr2MCVKXpHolwP74dMIxXtLnNHJ5/q6tyBMuFItlXlZMrqSaZAftWjG7x7m89wE2ZiA TyBTtwnb17Sc0r0submt8moDFNXvrQgS2VRl7qFcmREy9boNFhwRmbbh1EFEmRWwwN2dSCyR B016wxKj0XHq0w3Hz8FZe/dkWiCDy1Yscd1r5v+6kGjOwxmqoK01/6TghlqIqCHNyBYzeE7u Ho+xOI2l+rujwCM+O+MEE+o/kjhsaUDSlpjsc0bmEsaZ/pfU5XbsY9oQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 13/34] go: upgrade 1.22.12 -> 1.24.0 Date: Thu, 13 Nov 2025 13:56:51 +0100 Message-Id: <20251113125712.18914-14-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2523 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 Thu Nov 13 12:56: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: 74412 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 0C5D4CD6E51 for ; Thu, 13 Nov 2025 12:57:28 +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.23159.1763038637497306633 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=oPFQbanm; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251113125715ed5cc24e4d000207a9-wz8evj@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251113125715ed5cc24e4d000207a9 for ; Thu, 13 Nov 2025 13:57:15 +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=oPFQbanmADN5zEFR9VfupnFgMmdlorYG5J8/AZ8pFtHe09sLpaFVmd8MLtuxs+kqzvcJkU +MOHPwTel05pLEnpfJ0VgqNjaFwWUe0K8kuUWRDmpPL2c1wAZUc/MKTW6755WvxthowG5E40 ozISzxdN+f9BE2v9Ehv63w8F80BxKLpTg6Cv/5uLHkae01wPg2fUFViTtwqeWgVFB1C3Sek5 CAgP+P+6NayDmQhSh4w6Tmo5sNRGfKd8cL6k8xGOKvH9POcCoNyAwkqeupVCByBTO0cLngm4 Mtk2A50LcJ4vazWOMbiwh3Vis/c3fV0kdLUIszHEUep2E1Kn67c/F1Ag==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 14/34] go: fix buildpath issue for go-runtime Date: Thu, 13 Nov 2025 13:56:52 +0100 Message-Id: <20251113125712.18914-15-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2505 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 Thu Nov 13 12:56: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: 74423 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 565C5CD6E6A for ; Thu, 13 Nov 2025 12:57:28 +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.23161.1763038637499248427 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=BM5FjUvE; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-20251113125715681db1554f000207f5-_9z2bq@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251113125715681db1554f000207f5 for ; Thu, 13 Nov 2025 13:57:15 +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=BM5FjUvE/dNrJLfugO0fRLBkLCT3qYM5LAC4Qe7pmWuz6wKigGUfMa45fxL1olhjo/+Lvb sBPIjUUaogUuHJXfLVTNcnrtxANO/mUoioASdA3/JfOyKvjcWGYFOT0K2iXKICKdvVYj00+p lLbGJ+PNAPfl7fKyQwA3Nc8DYwiEMOZvw0RsPWpIAtIoeeVUN054z51vUk5MpRctcu8C9LRW x5yWzVmRsYjSqSfFvI6ROwrWTUtVuNqfVIJTdhH4u+xg3hLCEcCoUykR1bGWM6PKXEEkNIvV 3DZfMkeR4MM+GSE+24Y4dqtTz94md1MMbDIB++eoRh55j0qLIiD+3lHQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 15/34] go: remove support for GOROOT_FINAL Date: Thu, 13 Nov 2025 13:56:53 +0100 Message-Id: <20251113125712.18914-16-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2530 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 Thu Nov 13 12:56: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: 74427 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 7F814CD6E74 for ; Thu, 13 Nov 2025 12:57:28 +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.23135.1763038637367686829 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Rt/JyJ4Z; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.226, mailfrom: fm-256628-20251113125715c7996d029b0002076a-wxcfq1@rts-flowmailer.siemens.com) Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20251113125715c7996d029b0002076a for ; Thu, 13 Nov 2025 13:57:15 +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=Rt/JyJ4ZLVMlgsnekharY2UcP5ayqcfIAXlw0C1095xq28P44mR5xvmA+BF6FDAvkxosp4 3FH7VMpZJZtIXasZN8maED798r2qjtXNn77Wo/KQ+1OCbqhGktYQFqUv76KwuKAvHvVu63ye XFbYS9MkccnbRpLqXq/dG3pOUIJ8M1Kh+OLWVZk8YAmFpiw92G0suzm+8D6wmqQDytO5PUs0 kikm2MDnf6ucpErU3xDcNQ1ALodYFqc576x4OcPmSSEFCUStNVeMGW80sDpCDeIUomUARO7r wtDpkAIiW+0jk3QiRnDBx67Y8QHCLEn79bMqRZkQcpVzDCgUjCJezomw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 16/34] tcmode-default: bump GOVERSION to 1.24.0 Date: Thu, 13 Nov 2025 13:56:54 +0100 Message-Id: <20251113125712.18914-17-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2525 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 Thu Nov 13 12:56: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: 74437 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 B9378CD8C83 for ; Thu, 13 Nov 2025 12:57:28 +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.23162.1763038637499592105 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=mNH6ykKq; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-202511131257154a455b186200020772-dz6_9l@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202511131257154a455b186200020772 for ; Thu, 13 Nov 2025 13:57:15 +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=bZ8jgYXXq/bzG7dI6Dq5Xi3SMsNa7Zpq5a9Sackt6nA=; b=mNH6ykKqY7oQm66dXnyUxOKwPjuAX5xvdiccJmkN7bfPN/B76B1xq0n73lKyu5a0EWBSqR xGSi76XWa19c5o1SZhvX4OT2mGm90R7RBE0eMCYHoKYLDFf+bOiGYMfW8L87A3385xgptOL5 G1PXTfwFhcQBce6iI4lNHgerxmjYCWR0IQO8/oOn7pXRxrpfE0PZ8EOtJmUqv2sOOwnixXBk iv68iuFb6pvMkyZT7s4Ak9boiAG3g5shSzWnzejIm6U1YSAEmYOcusgixb5itAn8oXh99O1k LHvaGopm2e4OO+bd04uSpL6arxn01CZzoyXQKn4AQ26ukTp0qQX6Av6Q==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 17/34] go: upgrade 1.24.0 -> 1.24.1 Date: Thu, 13 Nov 2025 13:56:55 +0100 Message-Id: <20251113125712.18914-18-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2518 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 Thu Nov 13 12:56: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: 74443 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 1C79BCD8C95 for ; Thu, 13 Nov 2025 12:57:29 +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.23136.1763038637495754408 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Humbb1nR; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251113125715356bd12187000207b3-ti93oi@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251113125715356bd12187000207b3 for ; Thu, 13 Nov 2025 13:57:15 +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=wDAG/m4s9J6BfGTST5pf+JFG8JN4CFdEpjIsNJxiPbc=; b=Humbb1nRw30OGvGPV+tLB0OJ/TTZwg5tn7uT3HNX4NcrnjEKy7ufKls91pjlM29Ae5vl5x JXgUTjlAgA9I8kayn4YoBXPR7oOotVeygQfA9zoE8OmHeT25Vg4s3CXDAWMBaKV1ps6yiFt7 ep+GnPeH+15vre8wHf+yNyFKyNOyzvfkWhR6xL9Tc98YGtsgiSDryrD+Yc6RtDl9H8ldsxYl T3KqymI5Ho3CKz8+GzAKyxrLQhuoNArn50Pm1ab2SHNLopRyfFrvn3ajBSV4KR/Yg8G5JBvQ +7KvVAfsJ5fhSOR8qijuOCf5AJ/PGfuQRfNA7gfPAvRjXRtXNdmqsnaQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 18/34] go: upgrade 1.24.1 -> 1.24.2 Date: Thu, 13 Nov 2025 13:56:56 +0100 Message-Id: <20251113125712.18914-19-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2510 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 Thu Nov 13 12:56: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: 74428 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 7444FCD6E71 for ; Thu, 13 Nov 2025 12:57:28 +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.msgproc02-g2.23129.1763038637282339971 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=VynLHWl+; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-256628-202511131257153f68e32fa200020787-btyv06@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 202511131257153f68e32fa200020787 for ; Thu, 13 Nov 2025 13:57:15 +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=vvSRKHqCLK/ZXE2/D4rFCn07U3v7U3fwcH8ztBQlPMI=; b=VynLHWl+vhvOJagxutf74jzYZv/zziI4eKq+yAONBtzNG15IIsGvfQsOcom5+4hRHlBOvx vuaM9FX/3CCpiubqorzvhMtfledpjlG0GEluTT+D5JjuHixcEYf9x3Jks4ryUsHGuGKc5wb6 tOVhll0A9EHeieXJ/HToCImjvcQZnXPU+51dzPzGkdKYmD7WU9xrJL1rLc70XHXqCCN6+J7+ vaw1XQDJJAmVTmf8hL4KtmINaQSYnQZh77YYDvmDXhWegPxilyPjoExox6XKJ7K9YJS1RLxC tRlyBCbcF7+sdubqDqocSpvx+nxOD+AsLaUDDfzPZPXBaHyVKpyldPWg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 19/34] go: upgrade 1.24.2 -> 1.24.3 Date: Thu, 13 Nov 2025 13:56:57 +0100 Message-Id: <20251113125712.18914-20-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2526 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 Thu Nov 13 12:56: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: 74424 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 47A3DCD6E63 for ; Thu, 13 Nov 2025 12:57:28 +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.23141.1763038637547082669 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=FQoHmc1C; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-20251113125715f66a03703100020724-jbeljg@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20251113125715f66a03703100020724 for ; Thu, 13 Nov 2025 13:57:15 +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=ny9TOoRu4RM+S5GoCCl6oEg3Jy4QLNKzBCVK6b8zG+Y=; b=FQoHmc1CwjvxzXGXmyFb59ddClAh0LoV3lLpp0ei4X0L39BKJoCouaeyPQ9nBEfRk9G6hR fz8E4jXJSwJetRDwJrWaGgXA++w+4ACcwkFofGIkYHQs0d4bBFILZih8QUNmDoQS2VFeVsvo m6COG9AVO2P7fnigrB46jI6wCWwWnsBvgnsLIHXImUs5arcRPMqDhyZINiBi8xkSazE8d4oL OOwpv9WcJprIj153PYRLL+SPRV+KqoIzXuWcRHNPM+2j1ULajEOX1qlajD28FKTfz8PhkkfM 3I793BfptTRq39wrE8ehHeaL0IClVFgfJDBhEJUqyeZPSuxkCuc25RFg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 20/34] go: upgrade 1.24.3 -> 1.24.4 Date: Thu, 13 Nov 2025 13:56:58 +0100 Message-Id: <20251113125712.18914-21-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2532 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 Thu Nov 13 12:56:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74431 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 A0F1ECD6E7E for ; Thu, 13 Nov 2025 12:57:28 +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.23138.1763038637498253632 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=h1R/AFXw; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-2025111312571527619bd529000207f2-qma8di@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2025111312571527619bd529000207f2 for ; Thu, 13 Nov 2025 13:57:15 +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=8rwFCxVRcYby+xysu4aJfOflaEIRDNcoxr4Sted8Igc=; b=h1R/AFXwskUACqlIhD2Ska9VeaZZl6nUtpNq5W2L2p4dX7dQV7nY/OqwwAuc/v+WJpFRVv BKPwiL0jEEzWmMJyUF6rN9gjs8O7I3Wgo3PB/rRuOmoSEvoYe/rkax/fCclloz96iVTlsTr6 3hwXWFa/BM/Pd32+wQ/tOf7X/tV+6/B3oPxJSZZ937qqhIMH94IGWmdDsOgHxOvpAAtx260S M2OKGs5ri8QTu8tiQG+71vAujAvbqbVeIg+yNYfd2b5f97NeTtWfjsc2LvQTYg5SJzX+tEFc xxj/2sLZRfj2ZKI0s6g8smIfHn/ZBQyqCZyJgEmACBLk09TPQPnzf3wg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 21/34] go: set status of CVE-2024-3566 Date: Thu, 13 Nov 2025 13:56:59 +0100 Message-Id: <20251113125712.18914-22-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2521 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 Thu Nov 13 12:57: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: 74435 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 04605CD8C91 for ; Thu, 13 Nov 2025 12:57:29 +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.23139.1763038637498373493 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=hWogHE8d; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-2025111312571537bb769de2000207f5-q9k_ft@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 2025111312571537bb769de2000207f5 for ; Thu, 13 Nov 2025 13:57:15 +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=hWogHE8dqaQK04fxWMMlahImrMrHG8kJkU7+gqIrAmgv2BI44RJZAj/VgHkgMN85C1mxsK En9HdGnK6JbLv2rVD5IiOdn4hDK0Jdifnz44Xg8V5+9prBVit1RhCNaQLNq9ox073IWzfkwk ryU9TcDXyoRxYzDnzwlZwzUIFBzjDIyqQsNgoRW692LdibM8BZV7x4Yfu78XBSZOq3PWcTdC gpW34Hh+r5jt35VZ4Pnp9zGhrmT+6DpAduJTcWShfxhu1dP5Q+izDYBv004w0y/H98DcsOPm FwCyBi+ZZqhZ0omSr/gDthGRBLzgQbcmsyVYsJvstJKfFyM3n84rNohQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 22/34] meta: remove consecutive blank lines Date: Thu, 13 Nov 2025 13:57:00 +0100 Message-Id: <20251113125712.18914-23-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:29 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2509 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 Thu Nov 13 12:57: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: 74421 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 36252CD6E61 for ; Thu, 13 Nov 2025 12:57:28 +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.23140.1763038637499309122 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=E2NueAVD; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-20251113125715ba5b0721190002071c-4vjvtv@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251113125715ba5b0721190002071c for ; Thu, 13 Nov 2025 13:57:15 +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=I1KTtS1aIdggehqlHwOxh0tpI026yvXMmMWWJN3voiA=; b=E2NueAVDq41Mt3hR8qpcQp7YHTBz/UvhNQXS684PE3hzK/vKIn91uelfNkHzQHDyeDjdXZ Ggd+DlHKTKNe5iyiO3u2kkeEugfneExAe6PIzCnjKzu59yCASknmanu3bp4gtzrJQShLpuh9 wXyvKvBiH2kGsJVWca+sBaOUV02M1sFuVBUDwU/rsUAcou8VxdHhzvpAnLVmB9Aj5Jclb3pc ivBfHcR6fF7zm55rypSCKSWOuHG077AApggWQMtrqNqZjwUC4P6/otCiKV5i6YI02WFBrq4s 4+T+v6fX0nmDw/xwH+YtcYZjrA8Y9fTl4+3rPmP2eFSuY9Gusp5lFAQQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 23/34] go: upgrade 1.24.4 -> 1.24.5 Date: Thu, 13 Nov 2025 13:57:01 +0100 Message-Id: <20251113125712.18914-24-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2528 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 Thu Nov 13 12:57: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: 74417 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 3603CCD6E60 for ; Thu, 13 Nov 2025 12:57:28 +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.23139.1763038637498373493 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=Qc0qJvsT; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.225, mailfrom: fm-256628-20251113125715dd7d56d28100020718-cxmczu@rts-flowmailer.siemens.com) Received: by mta-65-225.siemens.flowmailer.net with ESMTPSA id 20251113125715dd7d56d28100020718 for ; Thu, 13 Nov 2025 13:57:15 +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=/RJpaAjLctIgr3GHUtTW/hBUkd43cKtlawFBwKZnhyw=; b=Qc0qJvsTHcSxP+ijHYpLqTsXNhNKvSTSoS/fJ8SsHhsa5d/wkjn73PxyGFe5mJ7JcSJux0 1o7PWEBofyOY864MvRv7HuDIjoPLuZ4Ch7eMxGY9VKlpWP+/veGhACJRiW8A8dDW5el7m3My mSz1Id9LyNn6gaPHpwiGljoW+P1xDQ1I2TK4HDe8HDXs0rwFHke6EU2P0Kd4xgLTPS2ePos7 Rlek73IwRdu47GoZZOA9qmgeFAKdcfwqzc3i7qWbSqfN5IyDEV6c+uLC6MFANyjsqUJou61o lCl9JDjSXDqBd1OGAVhcHdqxSA/O3Ur7addIt+gsnl1dYQtTX91Vh/iA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 24/34] go: upgrade 1.24.5 -> 1.24.6 Date: Thu, 13 Nov 2025 13:57:02 +0100 Message-Id: <20251113125712.18914-25-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2534 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 Thu Nov 13 12:57: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: 74416 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 29F15CD6E5C for ; Thu, 13 Nov 2025 12:57:28 +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.23165.1763038637506209674 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=DvQ5AJST; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251113125715f821bbbbf200020777-gvqrlb@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251113125715f821bbbbf200020777 for ; Thu, 13 Nov 2025 13:57:15 +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=DvQ5AJSTb8FWAOgWYswywf8ixoaZqcYaV+u6TyEl6yTfulj1Za/8/TEpDrCW10GsyX6UUx sRcZqtBUL23fxFBsxmJwOpxk78hDJTZc8mJQcjMDGvDcC88rDxLshibbnjyZi22FrAg5RERy cAm9M/2On31YKdkU+s6e/uBDiAkuSpEy8BEU+GGVjMl8pP16tu5UNT948hSmgF+k6Mahjzzr CjjSuYTixUDGPtJFn8xQH8gl+hwisMPY+tbm/S7bmvqYQE8o4YWzrhEl+Aw1PCNdu3VvatgN YS0ywTELF2omQEcW82v+yaK/XAkfZZ6exGHW9N0WFOk3B1iei2gCndjQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 25/34] go-cross: Disable build with ccache Date: Thu, 13 Nov 2025 13:57:03 +0100 Message-Id: <20251113125712.18914-26-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2536 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 Thu Nov 13 12:57: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: 74422 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 526EFCD6E69 for ; Thu, 13 Nov 2025 12:57:28 +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.23159.1763038637497306633 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=eDWSNCbc; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-202511131257154898b509790002074e-wdpfxf@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 202511131257154898b509790002074e for ; Thu, 13 Nov 2025 13:57:15 +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=eDWSNCbcV9s6p4LEBf5XCtBkHFumGInxS+ehKBDcCyuASNoEYxIXgOJZ9Na3dxMcxe+Tlm YjNrErj3qw4NGBpp5BhXtBL/dOkpwQhq0Hhmx64mb51YKb7EVFaZYCEggYYHVOMaZnBP9+2U zHmQAeuMKdt64gfjG7U/pSFpB4ypoAzDehDNgDDIN2t/uIlkZegYA6DmffrmznQ+mvEfeK0g qvj7wOPnLEY93bZGWED0f2RNixHC6LV//g2903n3v6DR9DoTzQBVNZ9/NHrtH0+1JEyw3kKE eyIoCxqkiEumktwe/C3seSaA2sUTNCk1hzmpKB08lY2ut+u1XPiqcQGA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 26/34] go-cross-canadian: fix binaries install and GOARCH Date: Thu, 13 Nov 2025 13:57:04 +0100 Message-Id: <20251113125712.18914-27-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2531 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 Thu Nov 13 12:57:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74418 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 1B75ECD6E56 for ; Thu, 13 Nov 2025 12:57:28 +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.23155.1763038637350289846 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=FfYsnaJP; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-2025111312571589366f2137000207ae-d2sck5@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 2025111312571589366f2137000207ae for ; Thu, 13 Nov 2025 13:57:15 +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=TUVXlD5l7zNtcXDryEL+/umjtLFabpg4Zg5LYHc7iSk=; b=FfYsnaJPRK3EVJC+hQsd+fefBjt+X5rHzDVT+kDnlnBCfkNbYJ8RFR7QlnK6Al0CYuXJ3u Rja2vVKWtM9LQubEgWBeLmcnNOmuq3TYz150W5NKEyy57WTlHy8A1WibW7amPP0tzEu8JbxS M9mfE5l8C7Ko+YbpkZHYLvzCkI7nm5psGhxWZuB9pZ9ksN+VWzHmxhYbhXYtIoq6EDVzw9YH Z+B+2K+FQ4kJ7d9hMi8TAGWWo0NqADgCWwAFE8RkRENFOtk2XHy6dmy7ggG7E+ZuDfRMcTi0 8AfzTXN3y3I/WMoV4DXUyDVYvkXJ1M3U6yp5E8Ji1D4vSWRi0x9zzddw==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 27/34] go: upgrade 1.24.6 -> 1.25.0 Date: Thu, 13 Nov 2025 13:57:05 +0100 Message-Id: <20251113125712.18914-28-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2537 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 Thu Nov 13 12:57: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: 74426 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 69B07CD6E6E for ; Thu, 13 Nov 2025 12:57:28 +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.23165.1763038637506209674 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=oi6Uqm02; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-202511131257151c788ec338000207c8-kyr2nh@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 202511131257151c788ec338000207c8 for ; Thu, 13 Nov 2025 13:57:15 +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=Nvbr7vIeqeCcpSX+jDnrqkUVIW3TSq1oO+PCGTpPDEM=; b=oi6Uqm02ygrkCgIso2D9gOP1grsOhESdSh0hNYeB+9XOyUSb2XNngIflzSK0y8U802g8H2 no34XeZk1HUqM0C//V6VcZMHFHYXJwMrYBJJk6+MYD2wA4u3wlFpUdJemtDEbLqZPvh9rMm2 QRyJpdTfuMYceHfdyHWaT4Jc7EAldYhPIGTJmI9LjT4RftvzCJoLD8kH/qDvRPo3TYxOnpFy tbMy83NzyyJgOQ069dpnurzdbH3s+u/1wq1875A/XLKMBy1kvl4u8rNW2xqhiGbYQuZYNRX+ O6C+cSNJhpGPQTsfJuwFaq8T1/TsN3HAAecjD6mu/MOaozt8fyDM4ioA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 28/34] conf/layer: switch to golang 1.25 Date: Thu, 13 Nov 2025 13:57:06 +0100 Message-Id: <20251113125712.18914-29-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2514 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 Thu Nov 13 12:57:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Marko, Peter" X-Patchwork-Id: 74441 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 C15E5CD8C87 for ; Thu, 13 Nov 2025 12:57:28 +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.23166.1763038637608290416 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=P2KW9WWb; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-202511131257150812a148e50002076b-lo_o_g@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 202511131257150812a148e50002076b for ; Thu, 13 Nov 2025 13:57:15 +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=P2KW9WWblv3dmV0RCpuJuEtzCtWNOgeQG6/QW5ySyMrC1DpQQ5Yy+f6RNAqK5bdJZ44tLO 0MY8n5D9SjKODcW370uzyDncrHudBwpsht9YwXBQC6kL8AO79ixNgspc/iAjXdcsJAk16Llb Hx+qZbdj+UaVoG9NLWWxNWp6077iUoW80nCVuoqURapevAuG0I1V8fcVaCcpJSJG895UZmxp iBU8RnNcgLxPY24+G64lzm1q/SQ6uxWLt1+kHOxqwEKohcgLUkSLl/HVOMH/UgHmXbX3/R0h spqvzLKby61PthL0mQgwsRo4IIAKtkmtc0mw7HqvTWsDmjQIM/6u77uQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 29/34] go: fix sigaction usage on i386 platforms Date: Thu, 13 Nov 2025 13:57:07 +0100 Message-Id: <20251113125712.18914-30-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2517 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 Thu Nov 13 12:57: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: 74436 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 A91A1CD8C82 for ; Thu, 13 Nov 2025 12:57:28 +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.23141.1763038637547082669 for ; Thu, 13 Nov 2025 04:57:18 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=btAPWsNe; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.225, mailfrom: fm-256628-2025111312571582e5ca9b8a00020755-pt3qxk@rts-flowmailer.siemens.com) Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 2025111312571582e5ca9b8a00020755 for ; Thu, 13 Nov 2025 13:57:15 +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=d+w0ehYQa8s/W9lrCdsTHHMlkoZQzw3MLFGgG+DZwsY=; b=btAPWsNeHeV9AfCbHQC8X3MM1MeisxnCwbs5Evd49CIKzqao/+PLxcvAZ9HWRNNpBjV4QC IThrnOBu1gbcXQeldOrQo7hXzZvdZu8IyiNOTDb9NMX8+g2zAwxbE3lsLG7euTzXjt9C/nSg YFzmgYBf0/Z9pmm6nAXFONjDyek5frguxzDBV1kBCgt1HeerAKUGr3FWzaMVz/yboVAO7RO4 jCzLHFdFcH21xRLCcPBOz57cc2CYCNG75g1RDEB94M6oQ2HjoTjS2nMjjIOXgm1MYGlDVz6B hdMxvWe7W5fn12OfNpJ3IqMy7pg0xGbmScdSMaRDV7MVOR+kNPwg730A==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 30/34] go: upgrade 1.25.0 -> 1.25.1 Date: Thu, 13 Nov 2025 13:57:08 +0100 Message-Id: <20251113125712.18914-31-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2506 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 Thu Nov 13 12:57: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: 74415 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 14C4BCD6E54 for ; Thu, 13 Nov 2025 12:57:28 +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.23158.1763038637497159150 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=VPu4mQDM; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-20251113125715b1ee2a7ba9000207fb-3emwwd@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 20251113125715b1ee2a7ba9000207fb for ; Thu, 13 Nov 2025 13:57:16 +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=/5ON7VsKNQxnXfZVk+6q8xCMFEyHhy9As13qux8fmjU=; b=VPu4mQDMQgd3AMJ3el27qlZBwxcDLAnPUoX0qNK8fB0rKwB39l+F15vik0c9KtmGt7FWmv GLsHJPJgY1rbM3U1iiMCXL3B0z7wn1riDx4elGI3LtilKOc09lR7jA97C+df8OZ9FLgb9/iQ i6p1/nztMvvDF71/sD1t/ppVtDUoCJjo6O43HFE/BzcUTcra0kegHhK9FkAny/10F5OygEy6 p5LHkTVfQtgJXwDLKaGXPRPwtQlnR/ruR541u1CDNKEe31EoEHJv+H/wf/hU0y8hwhyOY8s9 yRmMvRLqhmZZ8ltgoHLFoClMeFj2EiNxS5gL8ijEIK/1rxpCT6eS5Bdg==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 31/34] go: upgrade 1.25.1 -> 1.25.2 Date: Thu, 13 Nov 2025 13:57:09 +0100 Message-Id: <20251113125712.18914-32-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2538 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 Thu Nov 13 12:57: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: 74414 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 29EC4CD6E58 for ; Thu, 13 Nov 2025 12:57:28 +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.23156.1763038637368816286 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=K/60NHtT; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.227, mailfrom: fm-256628-202511131257155af4f366f100020723-cbsdfe@rts-flowmailer.siemens.com) Received: by mta-65-227.siemens.flowmailer.net with ESMTPSA id 202511131257155af4f366f100020723 for ; Thu, 13 Nov 2025 13:57:15 +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=bjcFKCbL8vVy9efpJd+gdGvZhEK0v5q/8doE/JJuSaQ=; b=K/60NHtT0EOzelgk9TAhdf/OZGwamr2YXkzZ/zbUtsIEla+o+SG9WSUldGoHqcI56tAGXq KXRWKAoAmcaTwIYZWrDwX4nQu3l/s88aopfpmQYHw0wrF3Y6ZDDZpRQA7kTQabnG8998Jp8D fs2Tx5UNUcPcNBZPelH9OgcNq2rbvHcTtw9paHF8Ry/+MjboMsj6kybGLdKeguMcWeE85tCn Y10tORa3BH058TH7UOJyhmffG7Jp7WJMdZQUBdNW/zFc/8ZS8id75WL19XWGRiNZsso45lgw laugRWBPZmMAwCFbCEyI7+Zwk/XSxghppWPPxW57z7uF6shu8adXjPRA==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 32/34] go: upgrade 1.25.2 -> 1.25.3 Date: Thu, 13 Nov 2025 13:57:10 +0100 Message-Id: <20251113125712.18914-33-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2535 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 Thu Nov 13 12:57: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: 74411 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 0EE54CD6E52 for ; Thu, 13 Nov 2025 12:57:28 +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.23163.1763038637499928743 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=BOrivb8d; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.65.226, mailfrom: fm-256628-20251113125715513c7fdeb1000207d9-mceph_@rts-flowmailer.siemens.com) Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20251113125715513c7fdeb1000207d9 for ; Thu, 13 Nov 2025 13:57:15 +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=3xe4ELcFiRqFjVwYRdFpHcPp5WdpzFj6KSFgXR3e75c=; b=BOrivb8de96IBSxTQaprtFeiD5hvzBEG1fo1rGay2IRyCztmnuLSHGAuVSfk4oyP8qkkYV oi6QYgpkNGTP2sHKyFg61Yo1e8pQwGTIE6UuOz3KXLRULW2ddFAEeDnF1HPdqKXycGv7f8rk Ni0yjQl6PlPWWgbZMqbcVIxwrgnsZPVMX73zfvQrAXU33wWm2uX7q+iSWZf+5CXBMlXrR0jr ZzePZvTEDBdezmcSIZ5eHgIQAGXnkB1FczOvQchkrH7uaParn1ZtxhIEYAhN6tffCFhVe7ba 72fZQwBBBWDEa/A7QBBJLkvz/qlmRTVGlVn1RFYLVIF6smi69Dmc/UYQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 33/34] readme: update to markdown format Date: Thu, 13 Nov 2025 13:57:11 +0100 Message-Id: <20251113125712.18914-34-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2539 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 9e270f2..0000000 --- a/README +++ /dev/null @@ -1,15 +0,0 @@ -"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS. - -At the time Kirkstone was released in April 2024, Go 1.22 was the latest version -and officially Kirkstone supports only that. This thin special-purpose mixin -layer is meant to address this issue by backporting Go recipes from the master -branch of openembedded-core. - -The patches can be backport from openembedded-core with: - - git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \ - git am --signoff -p4 --directory=recipes-devtools/go - -Maintainers: -Jose Quaresma -Peter Marko diff --git a/README.md b/README.md new file mode 100644 index 0000000..e316fc6 --- /dev/null +++ b/README.md @@ -0,0 +1,43 @@ +meta-mixins-lts - scarthgap/go +============================== + +"Mixin" layer for adding latest Go toolchain versions into the Yocto Project LTS. + +At the time Kirkstone was released in April 2024, Go 1.22 was the latest version +and officially Kirkstone supports only that. This thin special-purpose mixin +layer is meant to address this issue by backporting Go recipes from the master +branch of openembedded-core. + +Dependencies +------------ + +This layer depends on: + +- URI: git://github.com/openembedded/openembedded-core.git + layers: meta + branch: scarthgap + +Contributing +------------ + +The patches can be backported from openembedded-core with: + + git -C ../openembedded-core format-patch --stdout -1 origin/master meta/recipes-devtools/go | \ + git am --signoff -p4 --directory=recipes-devtools/go + +The yocto-patches mailinglist (yocto-patches@lists.yoctoproject.org) is used +for questions, comments and patch review. It is subscriber only, so please +register before posting. + +Send pull requests to yocto-patches@lists.yoctoproject.org with +'[meta-lts-mixins][scarthgap/rust]' in the subject. + +When sending single patches, please use something like: +git send-email -M -1 --to=yocto-patches@lists.yoctoproject.org --subject-prefix='meta-lts-mixins][scarthgap/go][PATCH' + +Maintenance +----------- + +Layer maintainers: +* Jose Quaresma +* Peter Marko From patchwork Thu Nov 13 12:57: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: 74419 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 39435CD6E5D for ; Thu, 13 Nov 2025 12:57:28 +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.23136.1763038637495754408 for ; Thu, 13 Nov 2025 04:57:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=peter.marko@siemens.com header.s=fm1 header.b=oFJCpdHE; spf=pass (domain: rts-flowmailer.siemens.com, ip: 185.136.64.227, mailfrom: fm-256628-20251113125715b76ea9aaa00002077f-lx0yty@rts-flowmailer.siemens.com) Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20251113125715b76ea9aaa00002077f for ; Thu, 13 Nov 2025 13:57:15 +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=tEio6jxmI7xzXSYaT8CAao+eJeFaXDQ/2D0Otw6k+fo=; b=oFJCpdHE0bE/YRmnwouIvwW1AdTHjxwedOFI/MrriEaikbtpUik1tbABiIyBE0dwlFMMQC aRubOwV3rT6pgZlJRRn3KRdatbrEVIZ3YfKAeWf6XOgG88uEr+quStlDzzZZQ6L8rB8S7PXh PHmkUtWuUZHx8M+Huj4oQ06AD65x4MwGio4oNVo79/uVXrhmPmRelLPKL0f0kPewE57Ptm72 eUN8EzoMi2M4ZQPZ9dj13UpzWSvqxE7oFx7g1JU+bzP/NyeyhYr5ZNO88nsJgWHqYGNgRyJO YoxJH9qeVKdskRGYrMYaN0mtYSaoqnKbuKtIi8h04IacbyQWEuUY30aQ==; From: Peter Marko To: yocto-patches@lists.yoctoproject.org Cc: peter.marko@siemens.com, jose.quaresma@foundries.io Subject: [meta-lts-mixins][scarthgap/go][RFC PATCH 34/34] readme: add QA chapter Date: Thu, 13 Nov 2025 13:57:12 +0100 Message-Id: <20251113125712.18914-35-peter.marko@siemens.com> In-Reply-To: <20251113125712.18914-1-peter.marko@siemens.com> References: <20251113125712.18914-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 ; Thu, 13 Nov 2025 12:57:28 -0000 X-Groupsio-URL: https://lists.yoctoproject.org/g/yocto-patches/message/2533 Describe QA done when accepting patches. Note that oe-selftest fail when additional parameters (like -j) is not present. When that is fixed, we can simplify the oe-selftest QA example. Expected results: * runtime RESULTS - go.GoCompileTest.test_go_compile: PASSED (67.87s) RESULTS - go.GoCompileTest.test_go_module: PASSED (6.17s) RESULTS - go.GoHelloworldTest.test_gohelloworld: PASSED (1.24s) RESULTS - ping.PingTest.test_ping: PASSED (0.02s) RESULTS - ssh.SSHTest.test_ssh: PASSED (0.67s) * sdk RESULTS - go.GoCompileTest.test_go_build: PASSED (0.35s) RESULTS - go.GoCompileTest.test_go_module: PASSED (0.33s) RESULTS - go.GoHostCompileTest.test_go_cross_compile: PASSED (0.22s) RESULTS - go.GoHostCompileTest.test_go_module_cross_compile: PASSED (0.37s) * oe-selftest 2025-11-13 11:55:23,485 - oe-selftest - INFO - gotoolchain.oeGoToolchainSelfTest.test_go_dep_build (subunit.RemotedTestCase) 2025-11-13 11:55:23,485 - oe-selftest - INFO - ... ok 2025-11-13 11:55:23,485 - oe-selftest - INFO - 0: 1/1 1/1 (3.17s) (0 failed) (gotoolchain.oeGoToolchainSelfTest.test_go_dep_build) Signed-off-by: Peter Marko --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/README.md b/README.md index e316fc6..06a948d 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,47 @@ Maintenance Layer maintainers: * Jose Quaresma * 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) + ```