summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Quaresma <quaresma.jose@gmail.com>2024-02-28 18:30:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-03-03 16:28:20 +0000
commited39f516e975062736d0b7a0945baa6db97297e7 (patch)
treeb2b9282eceed328ad93d90ad5e8b4d307e5cdcde
parent9c730d3bcccbcb3595eef4ca0b7637b066d7b601 (diff)
downloadpoky-ed39f516e975062736d0b7a0945baa6db97297e7.tar.gz
go: bump 1.21.0
Go 1.21 Release Notes https://go.dev/doc/go1.21 (From OE-Core rev: 51a3cb046de4cfd66ecef36031fa96be29ef0a2a) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/distro/include/tcmode-default.inc2
-rw-r--r--meta/recipes-devtools/go/go-1.21.0.inc (renamed from meta/recipes-devtools/go/go-1.20.14.inc)2
-rw-r--r--meta/recipes-devtools/go/go-binary-native_1.21.0.bb (renamed from meta/recipes-devtools/go/go-binary-native_1.20.14.bb)6
-rw-r--r--meta/recipes-devtools/go/go-cross-canadian_1.21.0.bb (renamed from meta/recipes-devtools/go/go-cross-canadian_1.20.14.bb)0
-rw-r--r--meta/recipes-devtools/go/go-cross_1.21.0.bb (renamed from meta/recipes-devtools/go/go-cross_1.20.14.bb)0
-rw-r--r--meta/recipes-devtools/go/go-crosssdk_1.21.0.bb (renamed from meta/recipes-devtools/go/go-crosssdk_1.20.14.bb)0
-rw-r--r--meta/recipes-devtools/go/go-native_1.21.0.bb (renamed from meta/recipes-devtools/go/go-native_1.20.14.bb)0
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.21.0.bb (renamed from meta/recipes-devtools/go/go-runtime_1.20.14.bb)0
-rw-r--r--meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch35
-rw-r--r--meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch17
-rw-r--r--meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch11
-rw-r--r--meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch15
-rw-r--r--meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch74
-rw-r--r--meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch27
-rw-r--r--meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch12
-rw-r--r--meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch12
-rw-r--r--meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch23
-rw-r--r--meta/recipes-devtools/go/go_1.21.0.bb (renamed from meta/recipes-devtools/go/go_1.20.14.bb)0
18 files changed, 125 insertions, 111 deletions
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index e3f028c6c4..cc303afda9 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -23,7 +23,7 @@ GDBVERSION ?= "14.%"
23GLIBCVERSION ?= "2.39%" 23GLIBCVERSION ?= "2.39%"
24LINUXLIBCVERSION ?= "6.6%" 24LINUXLIBCVERSION ?= "6.6%"
25QEMUVERSION ?= "8.2%" 25QEMUVERSION ?= "8.2%"
26GOVERSION ?= "1.20%" 26GOVERSION ?= "1.21%"
27RUSTVERSION ?= "1.75%" 27RUSTVERSION ?= "1.75%"
28 28
29PREFERRED_VERSION_gcc ?= "${GCCVERSION}" 29PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
diff --git a/meta/recipes-devtools/go/go-1.20.14.inc b/meta/recipes-devtools/go/go-1.21.0.inc
index 7e425effe5..2933793b8b 100644
--- a/meta/recipes-devtools/go/go-1.20.14.inc
+++ b/meta/recipes-devtools/go/go-1.21.0.inc
@@ -15,4 +15,4 @@ SRC_URI += "\
15 file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \ 15 file://0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch \
16 file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \ 16 file://0009-go-Filter-build-paths-on-staticly-linked-arches.patch \
17" 17"
18SRC_URI[main.sha256sum] = "1aef321a0e3e38b7e91d2d7eb64040666cabdcc77d383de3c9522d0d69b67f4e" 18SRC_URI[main.sha256sum] = "818d46ede85682dd551ad378ef37a4d247006f12ec59b5b755601d2ce114369a"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.20.14.bb b/meta/recipes-devtools/go/go-binary-native_1.21.0.bb
index 95211e6696..5d0427f56f 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.21.0.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
9 9
10# Checksums available at https://go.dev/dl/ 10# Checksums available at https://go.dev/dl/
11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}" 11SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
12SRC_URI[go_linux_amd64.sha256sum] = "ff445e48af27f93f66bd949ae060d97991c83e11289009d311f25426258f9c44" 12SRC_URI[go_linux_amd64.sha256sum] = "d0398903a16ba2232b389fb31032ddf57cac34efda306a0eebac34f0965a0742"
13SRC_URI[go_linux_arm64.sha256sum] = "2096507509a98782850d1f0669786c09727053e9fe3c92b03c0d96f48700282b" 13SRC_URI[go_linux_arm64.sha256sum] = "f3d4548edf9b22f26bbd49720350bbfe59d75b7090a1a2bff1afad8214febaf3"
14SRC_URI[go_linux_ppc64le.sha256sum] = "237b1da9b65629a9b0fcf1f3ca75b4c84ef55fca1fc3eadf1681da7bbcb2e9cd" 14SRC_URI[go_linux_ppc64le.sha256sum] = "e938ffc81d8ebe5efc179240960ba22da6a841ff05d5cab7ce2547112b14a47f"
15 15
16UPSTREAM_CHECK_URI = "https://golang.org/dl/" 16UPSTREAM_CHECK_URI = "https://golang.org/dl/"
17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" 17UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.20.14.bb b/meta/recipes-devtools/go/go-cross-canadian_1.21.0.bb
index 7ac9449e47..7ac9449e47 100644
--- a/meta/recipes-devtools/go/go-cross-canadian_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-cross-canadian_1.21.0.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.20.14.bb b/meta/recipes-devtools/go/go-cross_1.21.0.bb
index 80b5a03f6c..80b5a03f6c 100644
--- a/meta/recipes-devtools/go/go-cross_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-cross_1.21.0.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.20.14.bb b/meta/recipes-devtools/go/go-crosssdk_1.21.0.bb
index 1857c8a577..1857c8a577 100644
--- a/meta/recipes-devtools/go/go-crosssdk_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-crosssdk_1.21.0.bb
diff --git a/meta/recipes-devtools/go/go-native_1.20.14.bb b/meta/recipes-devtools/go/go-native_1.21.0.bb
index ddf25b2c9b..ddf25b2c9b 100644
--- a/meta/recipes-devtools/go/go-native_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-native_1.21.0.bb
diff --git a/meta/recipes-devtools/go/go-runtime_1.20.14.bb b/meta/recipes-devtools/go/go-runtime_1.21.0.bb
index 63464a1501..63464a1501 100644
--- a/meta/recipes-devtools/go/go-runtime_1.20.14.bb
+++ b/meta/recipes-devtools/go/go-runtime_1.21.0.bb
diff --git a/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch b/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
index 9a2551031a..3bd756449e 100644
--- a/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
+++ b/meta/recipes-devtools/go/go/0001-cmd-go-make-content-based-hash-generation-less-pedan.patch
@@ -1,4 +1,4 @@
1From 10766ca6f4007b96e3f6bf4fb496e5df74397eb9 Mon Sep 17 00:00:00 2001 1From 9a6c5040cbcd88b10ceb8ceaebc8d6158c086670 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 28 Mar 2022 10:59:03 -0700 3Date: Mon, 28 Mar 2022 10:59:03 -0700
4Subject: [PATCH 1/9] cmd/go: make content-based hash generation less pedantic 4Subject: [PATCH 1/9] cmd/go: make content-based hash generation less pedantic
@@ -25,16 +25,17 @@ Upstream-Status: Inappropriate [OE specific]
25Signed-off-by: Alex Kube <alexander.j.kube@gmail.com> 25Signed-off-by: Alex Kube <alexander.j.kube@gmail.com>
26Signed-off-by: Matt Madison <matt@madison.systems> 26Signed-off-by: Matt Madison <matt@madison.systems>
27Signed-off-by: Khem Raj <raj.khem@gmail.com> 27Signed-off-by: Khem Raj <raj.khem@gmail.com>
28Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
28--- 29---
29 src/cmd/go/internal/envcmd/env.go | 2 +- 30 src/cmd/go/internal/envcmd/env.go | 2 +-
30 src/cmd/go/internal/work/exec.go | 44 ++++++++++++++++++++++++------- 31 src/cmd/go/internal/work/exec.go | 44 ++++++++++++++++++++++++-------
31 2 files changed, 36 insertions(+), 10 deletions(-) 32 2 files changed, 36 insertions(+), 10 deletions(-)
32 33
33diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go 34diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go
34index 66ef5ce..fb7448a 100644 35index c7c2e83..4a90d9d 100644
35--- a/src/cmd/go/internal/envcmd/env.go 36--- a/src/cmd/go/internal/envcmd/env.go
36+++ b/src/cmd/go/internal/envcmd/env.go 37+++ b/src/cmd/go/internal/envcmd/env.go
37@@ -183,7 +183,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar { 38@@ -189,7 +189,7 @@ func ExtraEnvVarsCostly() []cfg.EnvVar {
38 } 39 }
39 }() 40 }()
40 41
@@ -44,10 +45,10 @@ index 66ef5ce..fb7448a 100644
44 // Should not happen - b.CFlags was given an empty package. 45 // Should not happen - b.CFlags was given an empty package.
45 fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err) 46 fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err)
46diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go 47diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
47index 67d1193..62e1774 100644 48index 13d2a78..e3dd486 100644
48--- a/src/cmd/go/internal/work/exec.go 49--- a/src/cmd/go/internal/work/exec.go
49+++ b/src/cmd/go/internal/work/exec.go 50+++ b/src/cmd/go/internal/work/exec.go
50@@ -223,6 +223,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) { 51@@ -231,6 +231,8 @@ func (b *Builder) Do(ctx context.Context, root *Action) {
51 writeActionGraph() 52 writeActionGraph()
52 } 53 }
53 54
@@ -56,7 +57,7 @@ index 67d1193..62e1774 100644
56 // buildActionID computes the action ID for a build action. 57 // buildActionID computes the action ID for a build action.
57 func (b *Builder) buildActionID(a *Action) cache.ActionID { 58 func (b *Builder) buildActionID(a *Action) cache.ActionID {
58 p := a.Package 59 p := a.Package
59@@ -244,7 +246,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { 60@@ -252,7 +254,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
60 if p.Module != nil { 61 if p.Module != nil {
61 fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version) 62 fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, p.Module.Version)
62 } 63 }
@@ -65,7 +66,7 @@ index 67d1193..62e1774 100644
65 // The Go compiler always hides the exact value of $GOROOT 66 // The Go compiler always hides the exact value of $GOROOT
66 // when building things in GOROOT. 67 // when building things in GOROOT.
67 // 68 //
68@@ -276,9 +278,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { 69@@ -284,9 +286,9 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
69 } 70 }
70 if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 { 71 if len(p.CgoFiles)+len(p.SwigFiles)+len(p.SwigCXXFiles) > 0 {
71 fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo")) 72 fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo"))
@@ -77,7 +78,7 @@ index 67d1193..62e1774 100644
77 fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags) 78 fmt.Fprintf(h, "CC=%q %q %q %q\n", ccExe, cppflags, cflags, ldflags)
78 // Include the C compiler tool ID so that if the C 79 // Include the C compiler tool ID so that if the C
79 // compiler changes we rebuild the package. 80 // compiler changes we rebuild the package.
80@@ -286,14 +288,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { 81@@ -294,14 +296,14 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
81 fmt.Fprintf(h, "CC ID=%q\n", ccID) 82 fmt.Fprintf(h, "CC ID=%q\n", ccID)
82 } 83 }
83 if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 { 84 if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 {
@@ -94,16 +95,16 @@ index 67d1193..62e1774 100644
94 fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags) 95 fmt.Fprintf(h, "FC=%q %q\n", fcExe, fflags)
95 if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil { 96 if fcID, _, err := b.gccToolID(fcExe[0], "f95"); err == nil {
96 fmt.Fprintf(h, "FC ID=%q\n", fcID) 97 fmt.Fprintf(h, "FC ID=%q\n", fcID)
97@@ -310,7 +312,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { 98@@ -318,7 +320,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID {
98 } 99 }
99 } 100 }
100 if p.Internal.BuildInfo != "" { 101 if p.Internal.BuildInfo != nil {
101- fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo) 102- fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
102+ //fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo) 103+ //fmt.Fprintf(h, "modinfo %q\n", p.Internal.BuildInfo.String())
103 } 104 }
104 105
105 // Configuration specific to compiler toolchain. 106 // Configuration specific to compiler toolchain.
106@@ -2989,8 +2991,25 @@ func envList(key, def string) []string { 107@@ -3137,8 +3139,25 @@ func envList(key, def string) []string {
107 return args 108 return args
108 } 109 }
109 110
@@ -130,7 +131,7 @@ index 67d1193..62e1774 100644
130 if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil { 131 if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil {
131 return 132 return
132 } 133 }
133@@ -3006,6 +3025,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l 134@@ -3154,6 +3173,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l
134 if ldflags, err = buildFlags("LDFLAGS", defaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil { 135 if ldflags, err = buildFlags("LDFLAGS", defaultCFlags, p.CgoLDFLAGS, checkLinkerFlags); err != nil {
135 return 136 return
136 } 137 }
@@ -144,7 +145,7 @@ index 67d1193..62e1774 100644
144 145
145 return 146 return
146 } 147 }
147@@ -3021,7 +3047,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`) 148@@ -3169,7 +3195,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`)
148 149
149 func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) { 150 func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) {
150 p := a.Package 151 p := a.Package
@@ -153,7 +154,7 @@ index 67d1193..62e1774 100644
153 if err != nil { 154 if err != nil {
154 return nil, nil, err 155 return nil, nil, err
155 } 156 }
156@@ -3577,7 +3603,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) { 157@@ -3725,7 +3751,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) {
157 158
158 // Run SWIG on one SWIG input file. 159 // Run SWIG on one SWIG input file.
159 func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) { 160 func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) {
@@ -163,5 +164,5 @@ index 67d1193..62e1774 100644
163 return "", "", err 164 return "", "", err
164 } 165 }
165-- 166--
1662.30.2 1672.43.0
167 168
diff --git a/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch b/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
index 6abd424733..cf7ad02f86 100644
--- a/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
+++ b/meta/recipes-devtools/go/go/0002-cmd-go-Allow-GOTOOLDIR-to-be-overridden-in-the-envir.patch
@@ -1,4 +1,4 @@
1From 5cca2fa5997292a87302bdc7e7ed3231371e98bd Mon Sep 17 00:00:00 2001 1From e3f9a8a69d3a340c1a1d0bba566e71f20f635a43 Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com> 2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:15:37 +0430 3Date: Wed, 23 Oct 2019 21:15:37 +0430
4Subject: [PATCH 2/9] cmd/go: Allow GOTOOLDIR to be overridden in the 4Subject: [PATCH 2/9] cmd/go: Allow GOTOOLDIR to be overridden in the
@@ -13,16 +13,17 @@ Matt Madison <matt@madison.systems>.
13Upstream-Status: Inappropriate [OE specific] 13Upstream-Status: Inappropriate [OE specific]
14 14
15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com> 15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
16Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
16--- 17---
17 src/cmd/dist/build.go | 4 +++- 18 src/cmd/dist/build.go | 4 +++-
18 src/cmd/go/internal/cfg/cfg.go | 6 +++++- 19 src/cmd/go/internal/cfg/cfg.go | 6 +++++-
19 2 files changed, 8 insertions(+), 2 deletions(-) 20 2 files changed, 8 insertions(+), 2 deletions(-)
20 21
21diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go 22diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
22index c36a12e..5d31718 100644 23index 8973a87..adc9fd2 100644
23--- a/src/cmd/dist/build.go 24--- a/src/cmd/dist/build.go
24+++ b/src/cmd/dist/build.go 25+++ b/src/cmd/dist/build.go
25@@ -264,7 +264,9 @@ func xinit() { 26@@ -259,7 +259,9 @@ func xinit() {
26 } 27 }
27 xatexit(rmworkdir) 28 xatexit(rmworkdir)
28 29
@@ -30,14 +31,14 @@ index c36a12e..5d31718 100644
30+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { 31+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" {
31+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) 32+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch)
32+ } 33+ }
33 }
34 34
35 // compilerEnv returns a map from "goos/goarch" to the 35 goversion := findgoversion()
36 isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
36diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go 37diff --git a/src/cmd/go/internal/cfg/cfg.go b/src/cmd/go/internal/cfg/cfg.go
37index 3257140..bb46253 100644 38index 8a82e55..1141fc2 100644
38--- a/src/cmd/go/internal/cfg/cfg.go 39--- a/src/cmd/go/internal/cfg/cfg.go
39+++ b/src/cmd/go/internal/cfg/cfg.go 40+++ b/src/cmd/go/internal/cfg/cfg.go
40@@ -229,7 +229,11 @@ func SetGOROOT(goroot string, isTestGo bool) { 41@@ -231,7 +231,11 @@ func SetGOROOT(goroot string, isTestGo bool) {
41 // This matches the initialization of ToolDir in go/build, except for 42 // This matches the initialization of ToolDir in go/build, except for
42 // using ctxt.GOROOT and the installed GOOS and GOARCH rather than the 43 // using ctxt.GOROOT and the installed GOOS and GOARCH rather than the
43 // GOROOT, GOOS, and GOARCH reported by the runtime package. 44 // GOROOT, GOOS, and GOARCH reported by the runtime package.
@@ -51,5 +52,5 @@ index 3257140..bb46253 100644
51 } 52 }
52 } 53 }
53-- 54--
542.30.2 552.43.0
55 56
diff --git a/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch b/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
index 8f5ad04e5c..be4af096ce 100644
--- a/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
+++ b/meta/recipes-devtools/go/go/0003-ld-add-soname-to-shareable-objects.patch
@@ -1,4 +1,4 @@
1From c7536a820f713013ab1d4acef74a4c8bd970bf8f Mon Sep 17 00:00:00 2001 1From 7dde77b3ce8138314dd2736604b1b110dbcc0ac1 Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com> 2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:16:32 +0430 3Date: Wed, 23 Oct 2019 21:16:32 +0430
4Subject: [PATCH 3/9] ld: add soname to shareable objects 4Subject: [PATCH 3/9] ld: add soname to shareable objects
@@ -13,15 +13,16 @@ Matt Madison <matt@madison.systems>.
13Upstream-Status: Inappropriate [OE specific] 13Upstream-Status: Inappropriate [OE specific]
14 14
15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com> 15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
16Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
16--- 17---
17 src/cmd/link/internal/ld/lib.go | 3 +++ 18 src/cmd/link/internal/ld/lib.go | 3 +++
18 1 file changed, 3 insertions(+) 19 1 file changed, 3 insertions(+)
19 20
20diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go 21diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
21index 6eae900..0462ee8 100644 22index 91e2d51..e98b912 100644
22--- a/src/cmd/link/internal/ld/lib.go 23--- a/src/cmd/link/internal/ld/lib.go
23+++ b/src/cmd/link/internal/ld/lib.go 24+++ b/src/cmd/link/internal/ld/lib.go
24@@ -1508,6 +1508,7 @@ func (ctxt *Link) hostlink() { 25@@ -1554,6 +1554,7 @@ func (ctxt *Link) hostlink() {
25 argv = append(argv, "-Wl,-z,relro") 26 argv = append(argv, "-Wl,-z,relro")
26 } 27 }
27 argv = append(argv, "-shared") 28 argv = append(argv, "-shared")
@@ -29,7 +30,7 @@ index 6eae900..0462ee8 100644
29 if ctxt.HeadType == objabi.Hwindows { 30 if ctxt.HeadType == objabi.Hwindows {
30 argv = addASLRargs(argv, *flagAslr) 31 argv = addASLRargs(argv, *flagAslr)
31 } else { 32 } else {
32@@ -1523,6 +1524,7 @@ func (ctxt *Link) hostlink() { 33@@ -1569,6 +1570,7 @@ func (ctxt *Link) hostlink() {
33 argv = append(argv, "-Wl,-z,relro") 34 argv = append(argv, "-Wl,-z,relro")
34 } 35 }
35 argv = append(argv, "-shared") 36 argv = append(argv, "-shared")
@@ -37,7 +38,7 @@ index 6eae900..0462ee8 100644
37 case BuildModePlugin: 38 case BuildModePlugin:
38 if ctxt.HeadType == objabi.Hdarwin { 39 if ctxt.HeadType == objabi.Hdarwin {
39 argv = append(argv, "-dynamiclib") 40 argv = append(argv, "-dynamiclib")
40@@ -1531,6 +1533,7 @@ func (ctxt *Link) hostlink() { 41@@ -1577,6 +1579,7 @@ func (ctxt *Link) hostlink() {
41 argv = append(argv, "-Wl,-z,relro") 42 argv = append(argv, "-Wl,-z,relro")
42 } 43 }
43 argv = append(argv, "-shared") 44 argv = append(argv, "-shared")
diff --git a/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch b/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
index 85e42f7660..5dd2621adc 100644
--- a/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
+++ b/meta/recipes-devtools/go/go/0004-make.bash-override-CC-when-building-dist-and-go_boot.patch
@@ -1,4 +1,4 @@
1From 31ff609cc3d3bfcc2f2257fda1dbaafaec31eb0b Mon Sep 17 00:00:00 2001 1From 9f59e46991074d3e3c4d00f3971e62bfcd707167 Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com> 2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:17:16 +0430 3Date: Wed, 23 Oct 2019 21:17:16 +0430
4Subject: [PATCH 4/9] make.bash: override CC when building dist and 4Subject: [PATCH 4/9] make.bash: override CC when building dist and
@@ -13,24 +13,25 @@ Matt Madison <matt@madison.systems>.
13Upstream-Status: Inappropriate [OE specific] 13Upstream-Status: Inappropriate [OE specific]
14 14
15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com> 15Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
16Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
16--- 17---
17 src/make.bash | 4 ++-- 18 src/make.bash | 4 ++--
18 1 file changed, 2 insertions(+), 2 deletions(-) 19 1 file changed, 2 insertions(+), 2 deletions(-)
19 20
20diff --git a/src/make.bash b/src/make.bash 21diff --git a/src/make.bash b/src/make.bash
21index c07f39b..6ca7242 100755 22index 755b3b0..eddfc3c 100755
22--- a/src/make.bash 23--- a/src/make.bash
23+++ b/src/make.bash 24+++ b/src/make.bash
24@@ -194,7 +194,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then 25@@ -198,7 +198,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then
25 exit 1 26 exit 1
26 fi 27 fi
27 rm -f cmd/dist/dist 28 rm -f cmd/dist/dist
28-GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist 29-GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
29+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" GO111MODULE=off GOEXPERIMENT="" GOENV=off GOFLAGS="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist 30+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" nogoenv "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist
30 31
31 # -e doesn't propagate out of eval, so check success by hand. 32 # -e doesn't propagate out of eval, so check success by hand.
32 eval $(./cmd/dist/dist env -p || echo FAIL=true) 33 eval $(./cmd/dist/dist env -p || echo FAIL=true)
33@@ -219,7 +219,7 @@ fi 34@@ -223,7 +223,7 @@ fi
34 # Run dist bootstrap to complete make.bash. 35 # Run dist bootstrap to complete make.bash.
35 # Bootstrap installs a proper cmd/dist, built with the new toolchain. 36 # Bootstrap installs a proper cmd/dist, built with the new toolchain.
36 # Throw ours, built with the bootstrap toolchain, away after bootstrap. 37 # Throw ours, built with the bootstrap toolchain, away after bootstrap.
@@ -40,5 +41,5 @@ index c07f39b..6ca7242 100755
40 41
41 # DO NOT ADD ANY NEW CODE HERE. 42 # DO NOT ADD ANY NEW CODE HERE.
42-- 43--
432.30.2 442.43.0
44 45
diff --git a/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch b/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
index aa2df58995..f8dca65ed4 100644
--- a/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
+++ b/meta/recipes-devtools/go/go/0005-cmd-dist-separate-host-and-target-builds.patch
@@ -1,4 +1,4 @@
1From 7a191e5191c8b813e929caedb3f3918bb08692a1 Mon Sep 17 00:00:00 2001 1From 6dda78d528e60993a4688cd9d49440a726378ac8 Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com> 2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:18:12 +0430 3Date: Wed, 23 Oct 2019 21:18:12 +0430
4Subject: [PATCH 5/9] cmd/dist: separate host and target builds 4Subject: [PATCH 5/9] cmd/dist: separate host and target builds
@@ -31,8 +31,8 @@ Adapted to Go 1.13 from patches originally submitted to
31the meta/recipes-devtools/go tree by 31the meta/recipes-devtools/go tree by
32Matt Madison <matt@madison.systems>. 32Matt Madison <matt@madison.systems>.
33 33
34Rework the patch to avoid identation, it's more hard to read 34Rework the patch to avoid identation, it's more hard to read but
35but easy to rebase. 35easy to rebase.
36Jose Quaresma <jose.quaresma@foundries.io> 36Jose Quaresma <jose.quaresma@foundries.io>
37 37
38Upstream-Status: Inappropriate [OE specific] 38Upstream-Status: Inappropriate [OE specific]
@@ -44,35 +44,35 @@ Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
44 1 file changed, 75 insertions(+), 1 deletion(-) 44 1 file changed, 75 insertions(+), 1 deletion(-)
45 45
46diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go 46diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
47index 5d3171856a..d0ba54c072 100644 47index adc9fd2..5fff592 100644
48--- a/src/cmd/dist/build.go 48--- a/src/cmd/dist/build.go
49+++ b/src/cmd/dist/build.go 49+++ b/src/cmd/dist/build.go
50@@ -44,6 +44,7 @@ var ( 50@@ -46,6 +46,7 @@ var (
51 goexperiment string 51 goexperiment string
52 workdir string 52 workdir string
53 tooldir string 53 tooldir string
54+ build_tooldir string 54+ build_tooldir string
55 oldgoos string 55 oldgoos string
56 oldgoarch string 56 oldgoarch string
57 exe string 57 oldgocache string
58@@ -55,6 +56,7 @@ var ( 58@@ -58,6 +59,7 @@ var (
59 rebuildall bool 59 rebuildall bool
60 defaultclang bool 60 noOpt bool
61 noOpt bool 61 isRelease bool
62+ crossBuild bool 62+ crossBuild bool
63 63
64 vflag int // verbosity 64 vflag int // verbosity
65 ) 65 )
66@@ -267,6 +269,8 @@ func xinit() { 66@@ -265,6 +267,8 @@ func xinit() {
67 if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { 67
68 tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) 68 goversion := findgoversion()
69 } 69 isRelease = strings.HasPrefix(goversion, "release.") || strings.HasPrefix(goversion, "go")
70+ 70+
71+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot) 71+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot)
72 } 72 }
73 73
74 // compilerEnv returns a map from "goos/goarch" to the 74 // compilerEnv returns a map from "goos/goarch" to the
75@@ -468,8 +472,10 @@ func setup() { 75@@ -499,8 +503,10 @@ func setup() {
76 goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch) 76 goosGoarch := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch)
77 if rebuildall { 77 if rebuildall {
78 xremoveall(goosGoarch) 78 xremoveall(goosGoarch)
@@ -83,16 +83,18 @@ index 5d3171856a..d0ba54c072 100644
83 xatexit(func() { 83 xatexit(func() {
84 if files := xreaddir(goosGoarch); len(files) == 0 { 84 if files := xreaddir(goosGoarch); len(files) == 0 {
85 xremove(goosGoarch) 85 xremove(goosGoarch)
86@@ -1276,17 +1282,35 @@ func cmdbootstrap() { 86@@ -1344,14 +1350,20 @@ func cmdbootstrap() {
87 defer timelog("end", "dist bootstrap")
87 88
88 var noBanner, noClean bool 89 var debug, distpack, force, noBanner, noClean bool
89 var debug bool
90+ var hostOnly bool 90+ var hostOnly bool
91+ var targetOnly bool 91+ var targetOnly bool
92+ var toBuild = []string{"std", "cmd"} 92+ var toBuild = []string{"std", "cmd"}
93+ 93+
94 flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") 94 flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all")
95 flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process") 95 flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process")
96 flag.BoolVar(&distpack, "distpack", distpack, "write distribution files to pkg/distpack")
97 flag.BoolVar(&force, "force", force, "build even if the port is marked as broken")
96 flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner") 98 flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner")
97 flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning") 99 flag.BoolVar(&noClean, "no-clean", noClean, "print deprecation warning")
98+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target") 100+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target")
@@ -103,6 +105,8 @@ index 5d3171856a..d0ba54c072 100644
103 105
104 if noClean { 106 if noClean {
105 xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n") 107 xprintf("warning: --no-clean is deprecated and has no effect; use 'go install std cmd' instead\n")
108@@ -1363,6 +1375,18 @@ func cmdbootstrap() {
109 "Use the -force flag to build anyway.\n", goos, goarch)
106 } 110 }
107 111
108+ if hostOnly && targetOnly { 112+ if hostOnly && targetOnly {
@@ -120,7 +124,7 @@ index 5d3171856a..d0ba54c072 100644
120 // Set GOPATH to an internal directory. We shouldn't actually 124 // Set GOPATH to an internal directory. We shouldn't actually
121 // need to store files here, since the toolchain won't 125 // need to store files here, since the toolchain won't
122 // depend on modules outside of vendor directories, but if 126 // depend on modules outside of vendor directories, but if
123@@ -1354,9 +1378,14 @@ func cmdbootstrap() { 127@@ -1440,9 +1464,14 @@ func cmdbootstrap() {
124 xprintf("\n") 128 xprintf("\n")
125 } 129 }
126 130
@@ -133,30 +137,30 @@ index 5d3171856a..d0ba54c072 100644
133 goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now 137 goldflags = os.Getenv("GO_LDFLAGS") // we were using $BOOT_GO_LDFLAGS until now
134+} 138+}
135 goBootstrap := pathf("%s/go_bootstrap", tooldir) 139 goBootstrap := pathf("%s/go_bootstrap", tooldir)
136 cmdGo := pathf("%s/go", gorootBin)
137 if debug { 140 if debug {
138@@ -1385,7 +1414,11 @@ func cmdbootstrap() { 141 run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full")
142@@ -1470,7 +1499,11 @@ func cmdbootstrap() {
139 xprintf("\n") 143 xprintf("\n")
140 } 144 }
141 xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n") 145 xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n")
142+ if !crossBuild { 146+ if !crossBuild {
143 os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) 147 os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
144+} else { 148+} else {
145+ os.Setenv("CC", defaultcc[""]) 149+ os.Setenv("CC", defaultcc[""])
146+ } 150+ }
147 // Now that cmd/go is in charge of the build process, enable GOEXPERIMENT. 151 // Now that cmd/go is in charge of the build process, enable GOEXPERIMENT.
148 os.Setenv("GOEXPERIMENT", goexperiment) 152 os.Setenv("GOEXPERIMENT", goexperiment)
149 goInstall(goBootstrap, toolchain...) 153 // No need to enable PGO for toolchain2.
150@@ -1421,6 +1454,7 @@ func cmdbootstrap() { 154@@ -1523,6 +1556,7 @@ func cmdbootstrap() {
151 copyfile(pathf("%s/compile3", tooldir), pathf("%s/compile", tooldir), writeExec) 155 os.Setenv("GOCACHE", oldgocache)
152 } 156 }
153 157
154+ if !crossBuild { 158+ if !crossBuild {
155 if goos == oldgoos && goarch == oldgoarch { 159 if goos == oldgoos && goarch == oldgoarch {
156 // Common case - not setting up for cross-compilation. 160 // Common case - not setting up for cross-compilation.
157 timelog("build", "toolchain") 161 timelog("build", "toolchain")
158@@ -1462,6 +1496,42 @@ func cmdbootstrap() { 162@@ -1566,6 +1600,42 @@ func cmdbootstrap() {
159 checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) 163 checkNotStale(toolenv(), goBootstrap, toolchain...)
160 copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) 164 copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec)
161 } 165 }
162+} else { 166+} else {
@@ -175,8 +179,8 @@ index 5d3171856a..d0ba54c072 100644
175+ xprintf("\n") 179+ xprintf("\n")
176+ } 180+ }
177+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) 181+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
178+ goInstall(goBootstrap, toBuild...) 182+ goInstall(toolenv(), goBootstrap, toBuild...)
179+ checkNotStale(goBootstrap, toBuild...) 183+ checkNotStale(toolenv(), goBootstrap, toBuild...)
180+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary 184+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary
181+ 185+
182+ timelog("build", "target toolchain") 186+ timelog("build", "target toolchain")
@@ -188,17 +192,17 @@ index 5d3171856a..d0ba54c072 100644
188+ goarch = oldgoarch 192+ goarch = oldgoarch
189+ os.Setenv("GOOS", goos) 193+ os.Setenv("GOOS", goos)
190+ os.Setenv("GOARCH", goarch) 194+ os.Setenv("GOARCH", goarch)
191+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) 195+ os.Setenv("CC", compilerEnvLookup("CC", defaultcc, goos, goarch))
192+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) 196+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch)
193+ goInstall(goBootstrap, toBuild...) 197+ goInstall(toolenv(), goBootstrap, toBuild...)
194+ checkNotStale(goBootstrap, toBuild...) 198+ checkNotStale(toolenv(), goBootstrap, toBuild...)
195+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary 199+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary
196+ } 200+ }
197+ } 201+ }
198 202
199 // Check that there are no new files in $GOROOT/bin other than 203 // Check that there are no new files in $GOROOT/bin other than
200 // go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling). 204 // go and gofmt and $GOOS_$GOARCH (target bin when cross-compiling).
201@@ -1477,8 +1547,12 @@ func cmdbootstrap() { 205@@ -1585,8 +1655,12 @@ func cmdbootstrap() {
202 } 206 }
203 } 207 }
204 208
@@ -206,7 +210,7 @@ index 5d3171856a..d0ba54c072 100644
206+ // keep it. 210+ // keep it.
207+ if !crossBuild { 211+ if !crossBuild {
208 // Remove go_bootstrap now that we're done. 212 // Remove go_bootstrap now that we're done.
209 xremove(pathf("%s/go_bootstrap", tooldir)) 213 xremove(pathf("%s/go_bootstrap"+exe, tooldir))
210+} 214+}
211 215
212 if goos == "android" { 216 if goos == "android" {
diff --git a/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch b/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
index 520e41da86..d118e726c6 100644
--- a/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
+++ b/meta/recipes-devtools/go/go/0006-cmd-go-make-GOROOT-precious-by-default.patch
@@ -1,10 +1,8 @@
1From efab470498bb0a30ee2d00455a0c8c10459f6347 Mon Sep 17 00:00:00 2001 1From aff5a740d6286c04beb0593fc68b0aea5a95ad39 Mon Sep 17 00:00:00 2001
2From: Alex Kube <alexander.j.kube@gmail.com> 2From: Alex Kube <alexander.j.kube@gmail.com>
3Date: Wed, 23 Oct 2019 21:18:56 +0430 3Date: Wed, 23 Oct 2019 21:18:56 +0430
4Subject: [PATCH 6/9] cmd/go: make GOROOT precious by default 4Subject: [PATCH 6/9] cmd/go: make GOROOT precious by default
5 5
6Upstream-Status: Inappropriate [OE specific]
7
8The go build tool normally rebuilds whatever it detects is 6The go build tool normally rebuilds whatever it detects is
9stale. This can be a problem when GOROOT is intended to 7stale. This can be a problem when GOROOT is intended to
10be read-only and the go runtime has been built as a shared 8be read-only and the go runtime has been built as a shared
@@ -20,7 +18,10 @@ Adapted to Go 1.13 from patches originally submitted to
20the meta/recipes-devtools/go tree by 18the meta/recipes-devtools/go tree by
21Matt Madison <matt@madison.systems>. 19Matt Madison <matt@madison.systems>.
22 20
21Upstream-Status: Inappropriate [OE specific]
22
23Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com> 23Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
24Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
24--- 25---
25 src/cmd/go/internal/work/action.go | 3 +++ 26 src/cmd/go/internal/work/action.go | 3 +++
26 src/cmd/go/internal/work/build.go | 6 ++++++ 27 src/cmd/go/internal/work/build.go | 6 ++++++
@@ -28,10 +29,10 @@ Signed-off-by: Alexander J Kube <alexander.j.kube@gmail.com>
28 3 files changed, 34 insertions(+) 29 3 files changed, 34 insertions(+)
29 30
30diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go 31diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go
31index 8beb134..68a8cfe 100644 32index d4d0a71..42149d2 100644
32--- a/src/cmd/go/internal/work/action.go 33--- a/src/cmd/go/internal/work/action.go
33+++ b/src/cmd/go/internal/work/action.go 34+++ b/src/cmd/go/internal/work/action.go
34@@ -718,6 +718,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) { 35@@ -730,6 +730,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 *Action, shlib string) {
35 if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] { 36 if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] {
36 continue 37 continue
37 } 38 }
@@ -42,10 +43,10 @@ index 8beb134..68a8cfe 100644
42 // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild, 43 // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild,
43 // we'll end up building an overall library or executable that depends at runtime 44 // we'll end up building an overall library or executable that depends at runtime
44diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go 45diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go
45index 2f2860a..8cc6166 100644 46index e2e0e07..1c84137 100644
46--- a/src/cmd/go/internal/work/build.go 47--- a/src/cmd/go/internal/work/build.go
47+++ b/src/cmd/go/internal/work/build.go 48+++ b/src/cmd/go/internal/work/build.go
48@@ -217,6 +217,8 @@ See also: go install, go get, go clean. 49@@ -228,6 +228,8 @@ See also: go install, go get, go clean.
49 50
50 const concurrentGCBackendCompilationEnabledByDefault = true 51 const concurrentGCBackendCompilationEnabledByDefault = true
51 52
@@ -54,7 +55,7 @@ index 2f2860a..8cc6166 100644
54 func init() { 55 func init() {
55 // break init cycle 56 // break init cycle
56 CmdBuild.Run = runBuild 57 CmdBuild.Run = runBuild
57@@ -230,6 +232,10 @@ func init() { 58@@ -241,6 +243,10 @@ func init() {
58 AddCoverFlags(CmdBuild, nil) 59 AddCoverFlags(CmdBuild, nil)
59 AddCoverFlags(CmdInstall, nil) 60 AddCoverFlags(CmdInstall, nil)
60 } 61 }
@@ -66,11 +67,11 @@ index 2f2860a..8cc6166 100644
66 67
67 // Note that flags consulted by other parts of the code 68 // Note that flags consulted by other parts of the code
68diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go 69diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
69index 62e1774..cde867b 100644 70index e3dd486..0ea5316 100644
70--- a/src/cmd/go/internal/work/exec.go 71--- a/src/cmd/go/internal/work/exec.go
71+++ b/src/cmd/go/internal/work/exec.go 72+++ b/src/cmd/go/internal/work/exec.go
72@@ -546,6 +546,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) { 73@@ -539,6 +539,23 @@ func (b *Builder) build(ctx context.Context, a *Action) (err error) {
73 return errors.New("cannot compile Go " + p.Module.GoVersion + " code") 74 return err
74 } 75 }
75 76
76+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) { 77+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) {
@@ -93,7 +94,7 @@ index 62e1774..cde867b 100644
93 if err := b.Mkdir(a.Objdir); err != nil { 94 if err := b.Mkdir(a.Objdir); err != nil {
94 return err 95 return err
95 } 96 }
96@@ -1643,6 +1660,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) { 97@@ -1722,6 +1739,14 @@ func (b *Builder) linkShared(ctx context.Context, a *Action) (err error) {
97 return err 98 return err
98 } 99 }
99 100
@@ -109,5 +110,5 @@ index 62e1774..cde867b 100644
109 return err 110 return err
110 } 111 }
111-- 112--
1122.30.2 1132.43.0
113 114
diff --git a/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch b/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
index 7d9869b536..3e0ba35d81 100644
--- a/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
+++ b/meta/recipes-devtools/go/go/0007-exec.go-do-not-write-linker-flags-into-buildids.patch
@@ -1,4 +1,4 @@
1From 0ba747e6a4b251a0d9eed0cfd8f8c491bb508040 Mon Sep 17 00:00:00 2001 1From 619991feab04f331d081a91243434ccd859f611d Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 23 Nov 2020 19:22:04 +0000 3Date: Mon, 23 Nov 2020 19:22:04 +0000
4Subject: [PATCH 7/9] exec.go: do not write linker flags into buildids 4Subject: [PATCH 7/9] exec.go: do not write linker flags into buildids
@@ -9,16 +9,18 @@ To make this acceptable to upstream, we probably need to trim the flags,
9removing those known to be buildhost-specific. 9removing those known to be buildhost-specific.
10 10
11Upstream-Status: Inappropriate [needs upstream discussion] 11Upstream-Status: Inappropriate [needs upstream discussion]
12
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 13Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
14Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
13--- 15---
14 src/cmd/go/internal/work/exec.go | 4 ++-- 16 src/cmd/go/internal/work/exec.go | 4 ++--
15 1 file changed, 2 insertions(+), 2 deletions(-) 17 1 file changed, 2 insertions(+), 2 deletions(-)
16 18
17diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go 19diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go
18index cde867b..5cb1812 100644 20index 0ea5316..d7e2d51 100644
19--- a/src/cmd/go/internal/work/exec.go 21--- a/src/cmd/go/internal/work/exec.go
20+++ b/src/cmd/go/internal/work/exec.go 22+++ b/src/cmd/go/internal/work/exec.go
21@@ -1331,7 +1331,7 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID { 23@@ -1357,7 +1357,7 @@ func (b *Builder) linkActionID(a *Action) cache.ActionID {
22 } 24 }
23 25
24 // Toolchain-dependent configuration, shared with b.linkSharedActionID. 26 // Toolchain-dependent configuration, shared with b.linkSharedActionID.
@@ -27,7 +29,7 @@ index cde867b..5cb1812 100644
27 29
28 // Input files. 30 // Input files.
29 for _, a1 := range a.Deps { 31 for _, a1 := range a.Deps {
30@@ -1626,7 +1626,7 @@ func (b *Builder) linkSharedActionID(a *Action) cache.ActionID { 32@@ -1705,7 +1705,7 @@ func (b *Builder) linkSharedActionID(a *Action) cache.ActionID {
31 fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch) 33 fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch)
32 34
33 // Toolchain-dependent configuration, shared with b.linkActionID. 35 // Toolchain-dependent configuration, shared with b.linkActionID.
@@ -37,5 +39,5 @@ index cde867b..5cb1812 100644
37 // Input files. 39 // Input files.
38 for _, a1 := range a.Deps { 40 for _, a1 := range a.Deps {
39-- 41--
402.30.2 422.43.0
41 43
diff --git a/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch b/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
index fe830ce35c..58512207a8 100644
--- a/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
+++ b/meta/recipes-devtools/go/go/0008-src-cmd-dist-buildgo.go-do-not-hardcode-host-compile.patch
@@ -1,4 +1,4 @@
1From 1cbb416538a9c7c3fbedcb23f4d90d5c48becca8 Mon Sep 17 00:00:00 2001 1From e0999902687e2e394499f7153db8d62440c4dab0 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 10 Nov 2020 16:33:27 +0000 3Date: Tue, 10 Nov 2020 16:33:27 +0000
4Subject: [PATCH 8/9] src/cmd/dist/buildgo.go: do not hardcode host compilers 4Subject: [PATCH 8/9] src/cmd/dist/buildgo.go: do not hardcode host compilers
@@ -8,16 +8,18 @@ These come from $CC/$CXX on the build host and are not useful on targets;
8additionally as they contain host specific paths, this helps reproducibility. 8additionally as they contain host specific paths, this helps reproducibility.
9 9
10Upstream-Status: Inappropriate [needs upstream discussion] 10Upstream-Status: Inappropriate [needs upstream discussion]
11
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> 12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
12--- 14---
13 src/cmd/dist/buildgo.go | 8 ++++---- 15 src/cmd/dist/buildgo.go | 8 ++++----
14 1 file changed, 4 insertions(+), 4 deletions(-) 16 1 file changed, 4 insertions(+), 4 deletions(-)
15 17
16diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go 18diff --git a/src/cmd/dist/buildgo.go b/src/cmd/dist/buildgo.go
17index 29b0167..63a49f0 100644 19index 884e9d7..2f52eda 100644
18--- a/src/cmd/dist/buildgo.go 20--- a/src/cmd/dist/buildgo.go
19+++ b/src/cmd/dist/buildgo.go 21+++ b/src/cmd/dist/buildgo.go
20@@ -33,8 +33,8 @@ func mkzdefaultcc(dir, file string) { 22@@ -51,8 +51,8 @@ func mkzdefaultcc(dir, file string) {
21 fmt.Fprintf(&buf, "package cfg\n") 23 fmt.Fprintf(&buf, "package cfg\n")
22 fmt.Fprintln(&buf) 24 fmt.Fprintln(&buf)
23 fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig) 25 fmt.Fprintf(&buf, "const DefaultPkgConfig = `%s`\n", defaultpkgconfig)
@@ -28,7 +30,7 @@ index 29b0167..63a49f0 100644
28 writefile(buf.String(), file, writeSkipSame) 30 writefile(buf.String(), file, writeSkipSame)
29 return 31 return
30 } 32 }
31@@ -45,8 +45,8 @@ func mkzdefaultcc(dir, file string) { 33@@ -62,8 +62,8 @@ func mkzdefaultcc(dir, file string) {
32 fmt.Fprintf(&buf, "package main\n") 34 fmt.Fprintf(&buf, "package main\n")
33 fmt.Fprintln(&buf) 35 fmt.Fprintln(&buf)
34 fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig) 36 fmt.Fprintf(&buf, "const defaultPkgConfig = `%s`\n", defaultpkgconfig)
@@ -40,5 +42,5 @@ index 29b0167..63a49f0 100644
40 } 42 }
41 43
42-- 44--
432.30.2 452.43.0
44 46
diff --git a/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch b/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
index 49da5f6297..597a4e2104 100644
--- a/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
+++ b/meta/recipes-devtools/go/go/0009-go-Filter-build-paths-on-staticly-linked-arches.patch
@@ -1,4 +1,4 @@
1From 18011f72125bbea273d07ee5d792ac0ce6059572 Mon Sep 17 00:00:00 2001 1From 6c2438f187ca912c54a71b4ac65ab98999a019d2 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org> 2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Sat, 2 Jul 2022 23:08:13 +0100 3Date: Sat, 2 Jul 2022 23:08:13 +0100
4Subject: [PATCH 9/9] go: Filter build paths on staticly linked arches 4Subject: [PATCH 9/9] go: Filter build paths on staticly linked arches
@@ -11,17 +11,18 @@ on mips/ppc.
11Upstream-Status: Submitted [https://github.com/golang/go/pull/56410] 11Upstream-Status: Submitted [https://github.com/golang/go/pull/56410]
12 12
13Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> 13Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
14Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io>
14--- 15---
15 src/cmd/go/internal/load/pkg.go | 15 +++++++++++++-- 16 src/cmd/go/internal/load/pkg.go | 15 +++++++++++++--
16 1 file changed, 13 insertions(+), 2 deletions(-) 17 1 file changed, 13 insertions(+), 2 deletions(-)
17 18
18diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go 19diff --git a/src/cmd/go/internal/load/pkg.go b/src/cmd/go/internal/load/pkg.go
19index f427e29..6d6dc4e 100644 20index c0e6265..b199fee 100644
20--- a/src/cmd/go/internal/load/pkg.go 21--- a/src/cmd/go/internal/load/pkg.go
21+++ b/src/cmd/go/internal/load/pkg.go 22+++ b/src/cmd/go/internal/load/pkg.go
22@@ -2270,6 +2270,17 @@ func (p *Package) collectDeps() { 23@@ -2269,6 +2269,17 @@ func appendBuildSetting(info *debug.BuildInfo, key, value string) {
23 // to their VCS information (vcsStatusError). 24 info.Settings = append(info.Settings, debug.BuildSetting{Key: key, Value: value})
24 var vcsStatusCache par.Cache 25 }
25 26
26+func filterCompilerFlags(flags string) string { 27+func filterCompilerFlags(flags string) string {
27+ var newflags []string 28+ var newflags []string
@@ -34,10 +35,10 @@ index f427e29..6d6dc4e 100644
34+ return strings.Join(newflags, " ") 35+ return strings.Join(newflags, " ")
35+} 36+}
36+ 37+
37 // setBuildInfo gathers build information, formats it as a string to be 38 // setBuildInfo gathers build information and sets it into
38 // embedded in the binary, then sets p.Internal.BuildInfo to that string. 39 // p.Internal.BuildInfo, which will later be formatted as a string and embedded
39 // setBuildInfo should only be called on a main package with no errors. 40 // in the binary. setBuildInfo should only be called on a main package with no
40@@ -2376,7 +2387,7 @@ func (p *Package) setBuildInfo(autoVCS bool) { 41@@ -2376,7 +2387,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
41 if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" { 42 if gcflags := BuildGcflags.String(); gcflags != "" && cfg.BuildContext.Compiler == "gc" {
42 appendSetting("-gcflags", gcflags) 43 appendSetting("-gcflags", gcflags)
43 } 44 }
@@ -46,7 +47,7 @@ index f427e29..6d6dc4e 100644
46 // https://go.dev/issue/52372: only include ldflags if -trimpath is not set, 47 // https://go.dev/issue/52372: only include ldflags if -trimpath is not set,
47 // since it can include system paths through various linker flags (notably 48 // since it can include system paths through various linker flags (notably
48 // -extar, -extld, and -extldflags). 49 // -extar, -extld, and -extldflags).
49@@ -2422,7 +2433,7 @@ func (p *Package) setBuildInfo(autoVCS bool) { 50@@ -2419,7 +2430,7 @@ func (p *Package) setBuildInfo(ctx context.Context, autoVCS bool) {
50 // subset of flags that are known not to be paths? 51 // subset of flags that are known not to be paths?
51 if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath { 52 if cfg.BuildContext.CgoEnabled && !cfg.BuildTrimpath {
52 for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} { 53 for _, name := range []string{"CGO_CFLAGS", "CGO_CPPFLAGS", "CGO_CXXFLAGS", "CGO_LDFLAGS"} {
@@ -56,5 +57,5 @@ index f427e29..6d6dc4e 100644
56 } 57 }
57 appendSetting("GOARCH", cfg.BuildContext.GOARCH) 58 appendSetting("GOARCH", cfg.BuildContext.GOARCH)
58-- 59--
592.30.2 602.43.0
60 61
diff --git a/meta/recipes-devtools/go/go_1.20.14.bb b/meta/recipes-devtools/go/go_1.21.0.bb
index 46f5fbc6be..46f5fbc6be 100644
--- a/meta/recipes-devtools/go/go_1.20.14.bb
+++ b/meta/recipes-devtools/go/go_1.21.0.bb