On Wed, 25 Aug 2021 at 21:26, Bruce Ashfield <bruce.ashfi...@gmail.com> wrote:
> I mentioned meta-virtualization in the non-threaded part of this > discussion, so that specific information has been covered. Sakib is a > contributor there (and isn't new to core), and knows what he's doing, > hence why I have the luxury of being less detailed in the reponses. > > I've said my bit on this, I'll pick up the pieces if anything ends up > breaking .. I'm just trying to be proactive since history shows that > go always breaks something. > Please try to understand where I am coming from. Yours truly is doing the bulk of version updates in oe-core, because no one else bothers to, not even listed maintainers (and more and more recipes do not even have a listed maintainer anyore). So when someone else is showing initiative in version updates - and Sakib has not updated go before - I would much rather show appreciation for the effort, rather than immediate (and vague!) criticism for not enough testing. Alex > > Bruce > > > Bruce > > > > > Alex > > > > > >> > >> > >> Cheers, > >> > >> Bruce > >> > >> > That said, I agree that it's a bit late to place this into oe-core > now, and it's best to stash this until the start of the next cycle. > >> > > >> > Alex > >> > > >> >> > >> >> > >> >> Bruce > >> >> > >> >> > > >> >> > Sakib > >> >> > > >> >> > On 2021-08-25 1:20 p.m., Sakib Sajal wrote: > >> >> > > >> >> > go 1.17 includes small enhancements to the language. > >> >> > Release notes: https://golang.org/doc/go1.17 > >> >> > > >> >> > Signed-off-by: Sakib Sajal <sakib.sa...@windriver.com> > >> >> > --- > >> >> > meta/conf/distro/include/tcmode-default.inc | 2 +- > >> >> > .../go/{go-1.16.5.inc => go-1.17.inc} | 6 +- > >> >> > ...ow-CC-and-CXX-to-have-multiple-words.patch | 10 ++- > >> >> > ...ent-based-hash-generation-less-pedan.patch | 62 > +++++++++++------- > >> >> > ...-to-be-overridden-in-the-environment.patch | 18 ++++-- > >> >> > ...4-ld-add-soname-to-shareable-objects.patch | 13 ++-- > >> >> > ...de-CC-when-building-dist-and-go_boot.patch | 15 +++-- > >> >> > ...dist-separate-host-and-target-builds.patch | 64 > ++++++++++--------- > >> >> > ...d-go-make-GOROOT-precious-by-default.patch | 21 ++++-- > >> >> > ...008-use-GOBUILDMODE-to-set-buildmode.patch | 9 ++- > >> >> > ...go-make-sure-CC-and-CXX-are-absolute.patch | 45 ++++++------- > >> >> > ...ive_1.16.5.bb => go-binary-native_1.17.bb} | 4 +- > >> >> > ...an_1.16.5.bb => go-cross-canadian_1.17.bb} | 0 > >> >> > .../{go-cross_1.16.5.bb => go-cross_1.17.bb} | 0 > >> >> > ...crosssdk_1.16.5.bb => go-crosssdk_1.17.bb} | 0 > >> >> > ...{go-native_1.16.5.bb => go-native_1.17.bb} | 0 > >> >> > ...o-runtime_1.16.5.bb => go-runtime_1.17.bb} | 0 > >> >> > .../go/{go_1.16.5.bb => go_1.17.bb} | 0 > >> >> > 18 files changed, 163 insertions(+), 106 deletions(-) > >> >> > rename meta/recipes-devtools/go/{go-1.16.5.inc => go-1.17.inc} > (85%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0001-allow-CC-and-CXX-to-have-multiple-words.patch (80%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > (80%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > (78%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0004-ld-add-soname-to-shareable-objects.patch (78%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > (76%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0006-cmd-dist-separate-host-and-target-builds.patch (90%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0007-cmd-go-make-GOROOT-precious-by-default.patch (78%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0008-use-GOBUILDMODE-to-set-buildmode.patch (84%) > >> >> > rename meta/recipes-devtools/go/{go-1.16 => > go-1.17}/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch (75%) > >> >> > rename meta/recipes-devtools/go/{go-binary-native_1.16.5.bb => > go-binary-native_1.17.bb} (83%) > >> >> > rename meta/recipes-devtools/go/{go-cross-canadian_1.16.5.bb => > go-cross-canadian_1.17.bb} (100%) > >> >> > rename meta/recipes-devtools/go/{go-cross_1.16.5.bb => > go-cross_1.17.bb} (100%) > >> >> > rename meta/recipes-devtools/go/{go-crosssdk_1.16.5.bb => > go-crosssdk_1.17.bb} (100%) > >> >> > rename meta/recipes-devtools/go/{go-native_1.16.5.bb => > go-native_1.17.bb} (100%) > >> >> > rename meta/recipes-devtools/go/{go-runtime_1.16.5.bb => > go-runtime_1.17.bb} (100%) > >> >> > rename meta/recipes-devtools/go/{go_1.16.5.bb => go_1.17.bb} > (100%) > >> >> > > >> >> > diff --git a/meta/conf/distro/include/tcmode-default.inc > b/meta/conf/distro/include/tcmode-default.inc > >> >> > index 47f23f5c39..5b8a532943 100644 > >> >> > --- a/meta/conf/distro/include/tcmode-default.inc > >> >> > +++ b/meta/conf/distro/include/tcmode-default.inc > >> >> > @@ -23,7 +23,7 @@ GDBVERSION ?= "10.%" > >> >> > GLIBCVERSION ?= "2.34" > >> >> > LINUXLIBCVERSION ?= "5.13%" > >> >> > QEMUVERSION ?= "6.0%" > >> >> > -GOVERSION ?= "1.16%" > >> >> > +GOVERSION ?= "1.17%" > >> >> > # This can not use wildcards like 8.0.% since it is also used in > mesa to denote > >> >> > # llvm version being used, so always bump it with llvm recipe > version bump > >> >> > LLVMVERSION ?= "12.0.1" > >> >> > diff --git a/meta/recipes-devtools/go/go-1.16.5.inc > b/meta/recipes-devtools/go/go-1.17.inc > >> >> > similarity index 85% > >> >> > rename from meta/recipes-devtools/go/go-1.16.5.inc > >> >> > rename to meta/recipes-devtools/go/go-1.17.inc > >> >> > index 545aa0c828..6b412afe25 100644 > >> >> > --- a/meta/recipes-devtools/go/go-1.16.5.inc > >> >> > +++ b/meta/recipes-devtools/go/go-1.17.inc > >> >> > @@ -1,7 +1,7 @@ > >> >> > require go-common.inc > >> >> > > >> >> > -GO_BASEVERSION = "1.16" > >> >> > -PV = "1.16.5" > >> >> > +GO_BASEVERSION = "1.17" > >> >> > +PV = "1.17" > >> >> > FILESEXTRAPATHS:prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" > >> >> > > >> >> > LIC_FILES_CHKSUM = > "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" > >> >> > @@ -17,4 +17,4 @@ SRC_URI += "\ > >> >> > file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ > >> >> > > file://0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch \ > >> >> > " > >> >> > -SRC_URI[main.sha256sum] = > "7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80" > >> >> > +SRC_URI[main.sha256sum] = > "3a70e5055509f347c0fb831ca07a2bf3b531068f349b14a3c652e9b5b67beb5d" > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0001-allow-CC-and-CXX-to-have-multiple-words.patch > b/meta/recipes-devtools/go/go-1.17/0001-allow-CC-and-CXX-to-have-multiple-words.patch > >> >> > similarity index 80% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0001-allow-CC-and-CXX-to-have-multiple-words.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0001-allow-CC-and-CXX-to-have-multiple-words.patch > >> >> > index 5f4823be22..8a833e05d3 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0001-allow-CC-and-CXX-to-have-multiple-words.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0001-allow-CC-and-CXX-to-have-multiple-words.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From 9e3dc44cdfa58d96504d0a789dc82617dd5bef55 Mon Sep 17 00:00:00 > 2001 > >> >> > +From 0e964d3ca3496beb4f3732abe501b50e262b6646 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:01:13 +0430 > >> >> > Subject: [PATCH 1/9] cmd/go: Allow CC and CXX to have multiple > words > >> >> > @@ -10,14 +10,15 @@ the meta/recipes-devtools/go tree by > >> >> > Matt Madison <matt@madison.systems>. > >> >> > > >> >> > Signed-off-by: Alexander J Kube <alexander.j.k...@gmail.com> > >> >> > - > >> >> > --- > >> >> > src/cmd/go/internal/envcmd/env.go | 4 ++-- > >> >> > 1 file changed, 2 insertions(+), 2 deletions(-) > >> >> > > >> >> > +diff --git a/src/cmd/go/internal/envcmd/env.go > b/src/cmd/go/internal/envcmd/env.go > >> >> > +index 1553d26391..20d0587899 100644 > >> >> > --- a/src/cmd/go/internal/envcmd/env.go > >> >> > +++ b/src/cmd/go/internal/envcmd/env.go > >> >> > -@@ -103,11 +103,11 @@ func MkEnv() []cfg.EnvVar { > >> >> > +@@ -106,11 +106,11 @@ func MkEnv() []cfg.EnvVar { > >> >> > > >> >> > cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch) > >> >> > if env := strings.Fields(cfg.Getenv("CC")); len(env) > 0 { > >> >> > @@ -31,3 +32,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > env = append(env, cfg.EnvVar{Name: "AR", Value: envOr("AR", > "ar")}) > >> >> > env = append(env, cfg.EnvVar{Name: "CC", Value: cc}) > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > b/meta/recipes-devtools/go/go-1.17/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > >> >> > similarity index 80% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > >> >> > index 04d0e496c0..b78b6afa24 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From a13ae484e41139094505d2834437e9262a5315f7 Mon Sep 17 00:00:00 > 2001 > >> >> > +From e3628e0bd22caa339652435e166c7144f417c977 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:14:22 +0430 > >> >> > Subject: [PATCH 2/9] cmd/go: make content-based hash generation > less pedantic > >> >> > @@ -50,9 +50,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > src/cmd/go/internal/work/exec.go | 66 > ++++++++++++++++++++++--------- > >> >> > 2 files changed, 49 insertions(+), 19 deletions(-) > >> >> > > >> >> > +diff --git a/src/cmd/go/internal/envcmd/env.go > b/src/cmd/go/internal/envcmd/env.go > >> >> > +index 20d0587899..ff6f0d810a 100644 > >> >> > --- a/src/cmd/go/internal/envcmd/env.go > >> >> > +++ b/src/cmd/go/internal/envcmd/env.go > >> >> > -@@ -157,7 +157,7 @@ func ExtraEnvVars() []cfg.EnvVar { > >> >> > +@@ -160,7 +160,7 @@ func ExtraEnvVars() []cfg.EnvVar { > >> >> > func ExtraEnvVarsCostly() []cfg.EnvVar { > >> >> > var b work.Builder > >> >> > b.Init() > >> >> > @@ -61,9 +63,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > 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 5a225fb9f1..a37872e7c7 100644 > >> >> > --- a/src/cmd/go/internal/work/exec.go > >> >> > +++ b/src/cmd/go/internal/work/exec.go > >> >> > -@@ -37,6 +37,8 @@ import ( > >> >> > +@@ -38,6 +38,8 @@ import ( > >> >> > "cmd/go/internal/trace" > >> >> > ) > >> >> > > >> >> > @@ -72,7 +76,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > // actionList returns the list of actions in the dag rooted at > root > >> >> > // as visited in a depth-first post-order traversal. > >> >> > func actionList(root *Action) []*Action { > >> >> > -@@ -228,7 +230,7 @@ func (b *Builder) buildActionID(a *Actio > >> >> > +@@ -229,7 +231,7 @@ func (b *Builder) buildActionID(a *Action) > cache.ActionID { > >> >> > // Assume b.WorkDir is being trimmed properly. > >> >> > // When -trimpath is used with a package built from the module > cache, > >> >> > // use the module path and version instead of the directory. > >> >> > @@ -81,25 +85,36 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > fmt.Fprintf(h, "dir %s\n", p.Dir) > >> >> > } else if cfg.BuildTrimpath && p.Module != nil { > >> >> > fmt.Fprintf(h, "module %s@%s\n", p.Module.Path, > p.Module.Version) > >> >> > -@@ -247,13 +249,13 @@ func (b *Builder) buildActionID(a *Actio > >> >> > +@@ -248,9 +250,9 @@ func (b *Builder) buildActionID(a *Action) > cache.ActionID { > >> >> > } > >> >> > - if len(p.CgoFiles)+len(p.SwigFiles) > 0 { > >> >> > + 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) > >> >> > -- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, > ldflags) > >> >> > + cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, > true) > >> >> > -+ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, > cflags, ldflags) > >> >> > - if len(p.CXXFiles)+len(p.SwigFiles) > 0 { > >> >> > -- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags) > >> >> > -+ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags) > >> >> > + > >> >> > +- ccExe := b.ccExe() > >> >> > ++ ccExe := 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. > >> >> > +@@ -263,14 +265,14 @@ func (b *Builder) buildActionID(a *Action) > cache.ActionID { > >> >> > + } > >> >> > } > >> >> > - if len(p.FFiles) > 0 { > >> >> > -- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags) > >> >> > -+ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags) > >> >> > + if len(p.CXXFiles)+len(p.SwigCXXFiles) > 0 { > >> >> > +- cxxExe := b.cxxExe() > >> >> > ++ cxxExe := 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) > >> >> > + } > >> >> > } > >> >> > - // TODO(rsc): Should we include the SWIG version or > Fortran/GCC/G++/Objective-C compiler versions? > >> >> > - } > >> >> > -@@ -2401,33 +2403,48 @@ var ( > >> >> > + if len(p.FFiles) > 0 { > >> >> > +- fcExe := b.fcExe() > >> >> > ++ fcExe := 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) > >> >> > +@@ -2438,33 +2440,48 @@ var ( > >> >> > // gccCmd returns a gcc command line prefix > >> >> > // defaultCC is defined in zdefaultcc.go, written by cmd/dist. > >> >> > func (b *Builder) GccCmd(incdir, workdir string) []string { > >> >> > @@ -157,7 +172,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > > >> >> > // compilerExe returns the compiler to use given an > >> >> > -@@ -2436,11 +2453,16 @@ func (b *Builder) fcExe() []string { > >> >> > +@@ -2473,11 +2490,16 @@ func (b *Builder) fcExe() []string { > >> >> > // of the compiler but can have additional arguments if they > >> >> > // were present in the environment value. > >> >> > // For example if CC="gcc -DGOPHER" then the result is ["gcc", > "-DGOPHER"]. > >> >> > @@ -175,7 +190,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > return compiler > >> >> > } > >> >> > > >> >> > -@@ -2620,7 +2642,7 @@ func envList(key, def string) []string { > >> >> > +@@ -2667,7 +2689,7 @@ func envList(key, def string) []string { > >> >> > } > >> >> > > >> >> > // CFlags returns the flags to use when invoking the C, C++ or > Fortran compilers, or cgo. > >> >> > @@ -184,7 +199,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > defaults := "-g -O2" > >> >> > > >> >> > if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, > checkCompilerFlags); err != nil { > >> >> > -@@ -2639,6 +2661,14 @@ func (b *Builder) CFlags(p *load.Package > >> >> > +@@ -2686,6 +2708,14 @@ func (b *Builder) CFlags(p *load.Package) > (cppflags, cflags, cxxflags, fflags, l > >> >> > return > >> >> > } > >> >> > > >> >> > @@ -199,7 +214,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > return > >> >> > } > >> >> > > >> >> > -@@ -2653,7 +2683,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`) > >> >> > +@@ -2700,7 +2730,7 @@ var cgoRe = lazyregexp.New(`[/\\:]`) > >> >> > > >> >> > func (b *Builder) cgo(a *Action, cgoExe, objdir string, > pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) > (outGo, outObj []string, err error) { > >> >> > p := a.Package > >> >> > @@ -208,7 +223,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > if err != nil { > >> >> > return nil, nil, err > >> >> > } > >> >> > -@@ -3104,7 +3134,7 @@ func (b *Builder) swigIntSize(objdir str > >> >> > +@@ -3151,7 +3181,7 @@ func (b *Builder) swigIntSize(objdir > string) (intsize string, err error) { > >> >> > > >> >> > // Run SWIG on one SWIG input file. > >> >> > func (b *Builder) swigOne(a *Action, p *load.Package, file, > objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC > string, err error) { > >> >> > @@ -217,3 +232,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > if err != nil { > >> >> > return "", "", err > >> >> > } > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > b/meta/recipes-devtools/go/go-1.17/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > >> >> > similarity index 78% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > >> >> > index 662c705471..e5d0ee90e2 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch > >> >> > @@ -1,7 +1,8 @@ > >> >> > -From 28ada8896b76d620240bafc22aa395071d601482 Mon Sep 17 00:00:00 > 2001 > >> >> > +From f7b2347869941b751b6db1dfa8461195d2a5888b Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:15:37 +0430 > >> >> > -Subject: [PATCH 3/9] cmd/go: Allow GOTOOLDIR to be overridden in > the environment > >> >> > +Subject: [PATCH 3/9] cmd/go: Allow GOTOOLDIR to be overridden in > the > >> >> > + environment > >> >> > > >> >> > to allow for split host/target build roots > >> >> > > >> >> > @@ -17,10 +18,12 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > 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 bec17696f3..d82f612e75 100644 > >> >> > --- a/src/cmd/dist/build.go > >> >> > +++ b/src/cmd/dist/build.go > >> >> > -@@ -246,7 +246,9 @@ func xinit() { > >> >> > - workdir = xworkdir() > >> >> > +@@ -248,7 +248,9 @@ func xinit() { > >> >> > + } > >> >> > xatexit(rmworkdir) > >> >> > > >> >> > - tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, > gohostarch) > >> >> > @@ -30,9 +33,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > > >> >> > // compilerEnv returns a map from "goos/goarch" to the > >> >> > +diff --git a/src/cmd/go/internal/cfg/cfg.go > b/src/cmd/go/internal/cfg/cfg.go > >> >> > +index 57a3c1ff6f..825d8c70f2 100644 > >> >> > --- a/src/cmd/go/internal/cfg/cfg.go > >> >> > +++ b/src/cmd/go/internal/cfg/cfg.go > >> >> > -@@ -64,7 +64,11 @@ func defaultContext() build.Context { > >> >> > +@@ -67,7 +67,11 @@ func defaultContext() build.Context { > >> >> > // variables. This matches the initialization of ToolDir in > >> >> > // go/build, except for using ctxt.GOROOT rather than > >> >> > // runtime.GOROOT. > >> >> > @@ -45,3 +50,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > > >> >> > ctxt.GOPATH = envOr("GOPATH", ctxt.GOPATH) > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0004-ld-add-soname-to-shareable-objects.patch > b/meta/recipes-devtools/go/go-1.17/0004-ld-add-soname-to-shareable-objects.patch > >> >> > similarity index 78% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0004-ld-add-soname-to-shareable-objects.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0004-ld-add-soname-to-shareable-objects.patch > >> >> > index cd875f1164..bc5cabeca0 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0004-ld-add-soname-to-shareable-objects.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0004-ld-add-soname-to-shareable-objects.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From bf5cf5301ae5914498454c87293d1df2e1d8489f Mon Sep 17 00:00:00 > 2001 > >> >> > +From 751ab1c94df250475a8e0c6fe0272c60560a38b3 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:16:32 +0430 > >> >> > Subject: [PATCH 4/9] ld: add soname to shareable objects > >> >> > @@ -17,9 +17,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > 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 644faeb2fb..5b7e48636e 100644 > >> >> > --- a/src/cmd/link/internal/ld/lib.go > >> >> > +++ b/src/cmd/link/internal/ld/lib.go > >> >> > -@@ -1343,6 +1343,7 @@ func (ctxt *Link) hostlink() { > >> >> > +@@ -1342,6 +1342,7 @@ func (ctxt *Link) hostlink() { > >> >> > argv = append(argv, "-Wl,-z,relro") > >> >> > } > >> >> > argv = append(argv, "-shared") > >> >> > @@ -27,7 +29,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > if ctxt.HeadType == objabi.Hwindows { > >> >> > if *flagAslr { > >> >> > argv = addASLRargs(argv) > >> >> > -@@ -1358,6 +1359,7 @@ func (ctxt *Link) hostlink() { > >> >> > +@@ -1359,6 +1360,7 @@ func (ctxt *Link) hostlink() { > >> >> > argv = append(argv, "-Wl,-z,relro") > >> >> > } > >> >> > argv = append(argv, "-shared") > >> >> > @@ -35,7 +37,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > case BuildModePlugin: > >> >> > if ctxt.HeadType == objabi.Hdarwin { > >> >> > argv = append(argv, "-dynamiclib") > >> >> > -@@ -1366,6 +1368,7 @@ func (ctxt *Link) hostlink() { > >> >> > +@@ -1367,6 +1369,7 @@ func (ctxt *Link) hostlink() { > >> >> > argv = append(argv, "-Wl,-z,relro") > >> >> > } > >> >> > argv = append(argv, "-shared") > >> >> > @@ -43,3 +45,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > } > >> >> > > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > b/meta/recipes-devtools/go/go-1.17/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > >> >> > similarity index 76% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > >> >> > index 59c12d9546..a7d9932f4d 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From f05ef3ded52b98537c10efd0b15cd9612471524d Mon Sep 17 00:00:00 > 2001 > >> >> > +From 4a3a4c0b51618cab8e41dc307404c8b40146a8c4 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:17:16 +0430 > >> >> > Subject: [PATCH 5/9] make.bash: override CC when building dist and > >> >> > @@ -17,9 +17,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > src/make.bash | 4 ++-- > >> >> > 1 file changed, 2 insertions(+), 2 deletions(-) > >> >> > > >> >> > +diff --git a/src/make.bash b/src/make.bash > >> >> > +index 7986125a06..dd67029700 100755 > >> >> > --- a/src/make.bash > >> >> > +++ b/src/make.bash > >> >> > -@@ -178,7 +178,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; > >> >> > +@@ -181,7 +181,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then > >> >> > exit 1 > >> >> > fi > >> >> > rm -f cmd/dist/dist > >> >> > @@ -28,12 +30,15 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > > >> >> > # -e doesn't propagate out of eval, so check success by hand. > >> >> > eval $(./cmd/dist/dist env -p || echo FAIL=true) > >> >> > -@@ -209,7 +209,7 @@ fi > >> >> > +@@ -206,7 +206,7 @@ fi > >> >> > # Run dist bootstrap to complete make.bash. > >> >> > # Bootstrap installs a proper cmd/dist, built with the new > toolchain. > >> >> > # Throw ours, built with Go 1.4, away after bootstrap. > >> >> > --./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" > >> >> > -+CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall > $vflag $GO_DISTFLAGS "$@" > >> >> > +-./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. > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0006-cmd-dist-separate-host-and-target-builds.patch > b/meta/recipes-devtools/go/go-1.17/0006-cmd-dist-separate-host-and-target-builds.patch > >> >> > similarity index 90% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0006-cmd-dist-separate-host-and-target-builds.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0006-cmd-dist-separate-host-and-target-builds.patch > >> >> > index 7aee0bac43..e92cc9b28b 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0006-cmd-dist-separate-host-and-target-builds.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0006-cmd-dist-separate-host-and-target-builds.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From 10735bb84df17ba657f76835f483cd8543a879c1 Mon Sep 17 00:00:00 > 2001 > >> >> > +From fdbb0770a7e5190368c7e15ffcc2ce25fe7344e7 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:18:12 +0430 > >> >> > Subject: [PATCH 6/9] cmd/dist: separate host and target builds > >> >> > @@ -38,17 +38,19 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > src/cmd/dist/build.go | 155 > ++++++++++++++++++++++++++++++------------ > >> >> > 1 file changed, 112 insertions(+), 43 deletions(-) > >> >> > > >> >> > +diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go > >> >> > +index d82f612e75..af24e01198 100644 > >> >> > --- a/src/cmd/dist/build.go > >> >> > +++ b/src/cmd/dist/build.go > >> >> > -@@ -41,6 +41,7 @@ var ( > >> >> > - goldflags string > >> >> > +@@ -43,6 +43,7 @@ var ( > >> >> > + goexperiment string > >> >> > workdir string > >> >> > tooldir string > >> >> > + build_tooldir string > >> >> > oldgoos string > >> >> > oldgoarch string > >> >> > exe string > >> >> > -@@ -53,6 +54,7 @@ var ( > >> >> > +@@ -55,6 +56,7 @@ var ( > >> >> > > >> >> > rebuildall bool > >> >> > defaultclang bool > >> >> > @@ -56,7 +58,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > > >> >> > vflag int // verbosity > >> >> > ) > >> >> > -@@ -249,6 +251,8 @@ func xinit() { > >> >> > +@@ -251,6 +253,8 @@ func xinit() { > >> >> > if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { > >> >> > tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, > gohostarch) > >> >> > } > >> >> > @@ -65,7 +67,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > > >> >> > // compilerEnv returns a map from "goos/goarch" to the > >> >> > -@@ -480,8 +484,10 @@ func setup() { > >> >> > +@@ -496,8 +500,10 @@ func setup() { > >> >> > p := pathf("%s/pkg/%s_%s", goroot, gohostos, gohostarch) > >> >> > if rebuildall { > >> >> > xremoveall(p) > >> >> > @@ -76,23 +78,24 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > > >> >> > if goos != gohostos || goarch != gohostarch { > >> >> > p := pathf("%s/pkg/%s_%s", goroot, goos, goarch) > >> >> > -@@ -1244,12 +1250,29 @@ func cmdbootstrap() { > >> >> > +@@ -1266,13 +1272,30 @@ func cmdbootstrap() { > >> >> > + defer timelog("end", "dist bootstrap") > >> >> > > >> >> > - var noBanner bool > >> >> > - var debug bool > >> >> > + var noBanner, noClean bool > >> >> > + var hostOnly bool > >> >> > + var targetOnly bool > >> >> > + var toBuild = []string{"std", "cmd"} > >> >> > -+ > >> >> > + var debug bool > >> >> > flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") > >> >> > flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap > process") > >> >> > 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 hostOnly && targetOnly { > >> >> > + fatalf("specify only one of --host-only or --target-only\n") > >> >> > + } > >> >> > @@ -104,10 +107,10 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > + 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 > >> >> > -@@ -1303,8 +1326,13 @@ func cmdbootstrap() { > >> >> > + > >> >> > + if noClean { > >> >> > + xprintf("warning: --no-clean is deprecated and has no effect; > use 'go install std cmd' instead\n") > >> >> > +@@ -1345,8 +1368,13 @@ func cmdbootstrap() { > >> >> > xprintf("\n") > >> >> > } > >> >> > > >> >> > @@ -123,7 +126,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > goBootstrap := pathf("%s/go_bootstrap", tooldir) > >> >> > cmdGo := pathf("%s/go", gobin) > >> >> > if debug { > >> >> > -@@ -1333,7 +1361,11 @@ func cmdbootstrap() { > >> >> > +@@ -1375,7 +1403,11 @@ func cmdbootstrap() { > >> >> > xprintf("\n") > >> >> > } > >> >> > xprintf("Building Go toolchain2 using go_bootstrap and Go > toolchain1.\n") > >> >> > @@ -133,10 +136,10 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > + } else { > >> >> > + os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) > >> >> > + } > >> >> > + // Now that cmd/go is in charge of the build process, enable > GOEXPERIMENT. > >> >> > + os.Setenv("GOEXPERIMENT", goexperiment) > >> >> > goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...) > >> >> > - if debug { > >> >> > - run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), > "-V=full") > >> >> > -@@ -1370,50 +1402,84 @@ func cmdbootstrap() { > >> >> > +@@ -1414,50 +1446,84 @@ func cmdbootstrap() { > >> >> > } > >> >> > checkNotStale(goBootstrap, append(toolchain, > "runtime/internal/sys")...) > >> >> > > >> >> > @@ -188,6 +191,8 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > - timelog("build", "host toolchain") > >> >> > - if vflag > 0 { > >> >> > - xprintf("\n") > >> >> > +- } > >> >> > +- xprintf("Building packages and commands for host, %s/%s.\n", > goos, goarch) > >> >> > + > >> >> > + if goos == oldgoos && goarch == oldgoarch { > >> >> > + // Common case - not setting up for cross-compilation. > >> >> > @@ -219,8 +224,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > + os.Setenv("GOARCH", goarch) > >> >> > + os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) > >> >> > + xprintf("Building packages and commands for target, %s/%s.\n", > goos, goarch) > >> >> > - } > >> >> > -- xprintf("Building packages and commands for host, %s/%s.\n", > goos, goarch) > >> >> > ++ } > >> >> > goInstall(goBootstrap, "std", "cmd") > >> >> > checkNotStale(goBootstrap, "std", "cmd") > >> >> > checkNotStale(cmdGo, "std", "cmd") > >> >> > @@ -228,7 +232,12 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > - timelog("build", "target toolchain") > >> >> > - if vflag > 0 { > >> >> > - xprintf("\n") > >> >> > -- } > >> >> > ++ if debug { > >> >> > ++ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), > "-V=full") > >> >> > ++ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), > pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) > >> >> > ++ checkNotStale(goBootstrap, append(toolchain, > "runtime/internal/sys")...) > >> >> > ++ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", > tooldir), writeExec) > >> >> > + } > >> >> > - goos = oldgoos > >> >> > - goarch = oldgoarch > >> >> > - os.Setenv("GOOS", goos) > >> >> > @@ -249,16 +258,10 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > - run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), > pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) > >> >> > - checkNotStale(goBootstrap, append(toolchain, > "runtime/internal/sys")...) > >> >> > - copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", > tooldir), writeExec) > >> >> > -+ if debug { > >> >> > -+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), > "-V=full") > >> >> > -+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), > pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) > >> >> > -+ checkNotStale(goBootstrap, append(toolchain, > "runtime/internal/sys")...) > >> >> > -+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", > tooldir), writeExec) > >> >> > -+ } > >> >> > } > >> >> > > >> >> > // Check that there are no new files in $GOROOT/bin other than > >> >> > -@@ -1430,8 +1496,11 @@ func cmdbootstrap() { > >> >> > +@@ -1474,8 +1540,11 @@ func cmdbootstrap() { > >> >> > } > >> >> > } > >> >> > > >> >> > @@ -272,3 +275,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > > >> >> > if goos == "android" { > >> >> > // Make sure the exec wrapper will sync a fresh $GOROOT to the > device. > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0007-cmd-go-make-GOROOT-precious-by-default.patch > b/meta/recipes-devtools/go/go-1.17/0007-cmd-go-make-GOROOT-precious-by-default.patch > >> >> > similarity index 78% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0007-cmd-go-make-GOROOT-precious-by-default.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0007-cmd-go-make-GOROOT-precious-by-default.patch > >> >> > index 4b4d0d4f3d..d522512699 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0007-cmd-go-make-GOROOT-precious-by-default.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0007-cmd-go-make-GOROOT-precious-by-default.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From 9ba507e076c744f4d394418e4a849e68cd426a4a Mon Sep 17 00:00:00 > 2001 > >> >> > +From f65315faeacf0acb8a5dbbc754136e33381200f5 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:18:56 +0430 > >> >> > Subject: [PATCH 7/9] cmd/go: make GOROOT precious by default > >> >> > @@ -27,9 +27,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > 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 69940cb001..b0c1667def 100644 > >> >> > --- a/src/cmd/go/internal/work/action.go > >> >> > +++ b/src/cmd/go/internal/work/action.go > >> >> > -@@ -670,6 +670,9 @@ func (b *Builder) addTransitiveLinkDeps( > >> >> > +@@ -673,6 +673,9 @@ func (b *Builder) addTransitiveLinkDeps(a, a1 > *Action, shlib string) { > >> >> > if p1 == nil || p1.Shlib == "" || > haveShlib[filepath.Base(p1.Shlib)] { > >> >> > continue > >> >> > } > >> >> > @@ -39,9 +41,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > 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 0ed2389cd5..c3f8a82880 100644 > >> >> > --- a/src/cmd/go/internal/work/build.go > >> >> > +++ b/src/cmd/go/internal/work/build.go > >> >> > -@@ -167,6 +167,8 @@ See also: go install, go get, go clean. > >> >> > +@@ -189,6 +189,8 @@ See also: go install, go get, go clean. > >> >> > > >> >> > const concurrentGCBackendCompilationEnabledByDefault = true > >> >> > > >> >> > @@ -50,7 +54,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > func init() { > >> >> > // break init cycle > >> >> > CmdBuild.Run = runBuild > >> >> > -@@ -179,6 +181,10 @@ func init() { > >> >> > +@@ -201,6 +203,10 @@ func init() { > >> >> > > >> >> > AddBuildFlags(CmdBuild, DefaultBuildFlags) > >> >> > AddBuildFlags(CmdInstall, DefaultBuildFlags) > >> >> > @@ -61,9 +65,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > } > >> >> > > >> >> > // 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 a37872e7c7..f4e83b97e2 100644 > >> >> > --- a/src/cmd/go/internal/work/exec.go > >> >> > +++ b/src/cmd/go/internal/work/exec.go > >> >> > -@@ -468,6 +468,23 @@ func (b *Builder) build(a *Action) (err > >> >> > +@@ -514,6 +514,23 @@ func (b *Builder) build(ctx context.Context, > a *Action) (err error) { > >> >> > return errors.New("binary-only packages are no longer supported") > >> >> > } > >> >> > > >> >> > @@ -87,7 +93,7 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > if err := b.Mkdir(a.Objdir); err != nil { > >> >> > return err > >> >> > } > >> >> > -@@ -1520,6 +1537,14 @@ func BuildInstallFunc(b *Builder, a *Act > >> >> > +@@ -1558,6 +1575,14 @@ func (b *Builder) linkShared(ctx > context.Context, a *Action) (err error) { > >> >> > return err > >> >> > } > >> >> > > >> >> > @@ -102,3 +108,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > if err := b.Mkdir(a.Objdir); err != nil { > >> >> > return err > >> >> > } > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0008-use-GOBUILDMODE-to-set-buildmode.patch > b/meta/recipes-devtools/go/go-1.17/0008-use-GOBUILDMODE-to-set-buildmode.patch > >> >> > similarity index 84% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0008-use-GOBUILDMODE-to-set-buildmode.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0008-use-GOBUILDMODE-to-set-buildmode.patch > >> >> > index 4e5d5021d6..9a1bce809c 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0008-use-GOBUILDMODE-to-set-buildmode.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0008-use-GOBUILDMODE-to-set-buildmode.patch > >> >> > @@ -1,4 +1,4 @@ > >> >> > -From 971b5626339ce0c4d57f9721c9a81af566c5a044 Mon Sep 17 00:00:00 > 2001 > >> >> > +From 1446c2c3cc6b1c66d9ef9507eb596c5bfed3dc47 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Alex Kube <alexander.j.k...@gmail.com> > >> >> > Date: Wed, 23 Oct 2019 21:19:26 +0430 > >> >> > Subject: [PATCH 8/9] cmd/go: Use GOBUILDMODE to set buildmode > >> >> > @@ -23,9 +23,11 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > src/cmd/go/internal/work/build.go | 8 +++++++- > >> >> > 1 file changed, 7 insertions(+), 1 deletion(-) > >> >> > > >> >> > +diff --git a/src/cmd/go/internal/work/build.go > b/src/cmd/go/internal/work/build.go > >> >> > +index c3f8a82880..23d1aa4836 100644 > >> >> > --- a/src/cmd/go/internal/work/build.go > >> >> > +++ b/src/cmd/go/internal/work/build.go > >> >> > -@@ -254,7 +254,13 @@ func AddBuildFlags(cmd *base.Command, ma > >> >> > +@@ -275,7 +275,13 @@ func AddBuildFlags(cmd *base.Command, mask > BuildFlagMask) { > >> >> > > >> >> > cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "") > >> >> > cmd.Flag.Var(buildCompiler{}, "compiler", "") > >> >> > @@ -40,3 +42,6 @@ Signed-off-by: Alexander J Kube < > alexander.j.k...@gmail.com> > >> >> > cmd.Flag.Var(&load.BuildGcflags, "gcflags", "") > >> >> > cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "") > >> >> > if mask&OmitModFlag == 0 { > >> >> > +-- > >> >> > +2.25.1 > >> >> > + > >> >> > diff --git > a/meta/recipes-devtools/go/go-1.16/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > b/meta/recipes-devtools/go/go-1.17/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > >> >> > similarity index 75% > >> >> > rename from > meta/recipes-devtools/go/go-1.16/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > >> >> > rename to > meta/recipes-devtools/go/go-1.17/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > >> >> > index dcbdf58752..f8bd491f93 100644 > >> >> > --- > a/meta/recipes-devtools/go/go-1.16/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > >> >> > +++ > b/meta/recipes-devtools/go/go-1.17/0009-Revert-cmd-go-make-sure-CC-and-CXX-are-absolute.patch > >> >> > @@ -1,7 +1,7 @@ > >> >> > -From a983bc6cd48fb0da939e3329cac18d7a3b29ecf8 Mon Sep 17 00:00:00 > 2001 > >> >> > +From c5f3c1aa77753254586c0c8a6893862ae97eabe1 Mon Sep 17 00:00:00 > 2001 > >> >> > From: Khem Raj <raj.k...@gmail.com> > >> >> > Date: Mon, 22 Feb 2021 17:54:01 -0800 > >> >> > -Subject: [PATCH] Revert "cmd/go: make sure CC and CXX are > absolute" > >> >> > +Subject: [PATCH 9/9] Revert "cmd/go: make sure CC and CXX are > absolute" > >> >> > > >> >> > OE uses CC/CXX values which consists of cmpiler and options > together, > >> >> > secondly, the environment is canned so this check add little > value to OE > >> >> > @@ -16,47 +16,44 @@ This reverts commit > aa161e799df7e1eba99d2be10271e76b6f758142. > >> >> > Upstream-Status: Inappropriate [OE-Specific] > >> >> > Signed-off-by: Khem Raj <raj.k...@gmail.com> > >> >> > --- > >> >> > - src/cmd/go/internal/envcmd/env.go | 5 ----- > >> >> > + src/cmd/go/internal/envcmd/env.go | 2 +- > >> >> > src/cmd/go/internal/work/init.go | 7 ------- > >> >> > src/cmd/go/testdata/script/env_write.txt | 24 > ------------------------ > >> >> > - 3 files changed, 36 deletions(-) > >> >> > + 3 files changed, 1 insertion(+), 32 deletions(-) > >> >> > > >> >> > diff --git a/src/cmd/go/internal/envcmd/env.go > b/src/cmd/go/internal/envcmd/env.go > >> >> > -index 6937187522..29f9057c3f 100644 > >> >> > +index ff6f0d810a..ca0494b5d4 100644 > >> >> > --- a/src/cmd/go/internal/envcmd/env.go > >> >> > +++ b/src/cmd/go/internal/envcmd/env.go > >> >> > -@@ -427,11 +427,6 @@ func checkEnvWrite(key, val string) error { > >> >> > - if !filepath.IsAbs(val) && val != "" { > >> >> > +@@ -458,7 +458,7 @@ func checkEnvWrite(key, val string) error { > >> >> > return fmt.Errorf("GOPATH entry is relative; must be absolute > path: %q", val) > >> >> > } > >> >> > -- // Make sure CC and CXX are absolute paths > >> >> > -- case "CC", "CXX": > >> >> > -- if !filepath.IsAbs(val) && val != "" && val != > filepath.Base(val) { > >> >> > -- return fmt.Errorf("%s entry is relative; must be absolute path: > %q", key, val) > >> >> > -- } > >> >> > - } > >> >> > - > >> >> > - if !utf8.ValidString(val) { > >> >> > + // Make sure CC and CXX are absolute paths > >> >> > +- case "CC", "CXX", "GOMODCACHE": > >> >> > ++ case "GOMODCACHE": > >> >> > + if !filepath.IsAbs(val) && val != "" && val != > filepath.Base(val) { > >> >> > + return fmt.Errorf("%s entry is relative; must be absolute path: > %q", key, val) > >> >> > + } > >> >> > diff --git a/src/cmd/go/internal/work/init.go > b/src/cmd/go/internal/work/init.go > >> >> > -index ba7c7c2fbb..3a6df5f758 100644 > >> >> > +index 37a3e2d0ff..e529cc2917 100644 > >> >> > --- a/src/cmd/go/internal/work/init.go > >> >> > +++ b/src/cmd/go/internal/work/init.go > >> >> > -@@ -41,13 +41,6 @@ func BuildInit() { > >> >> > +@@ -38,13 +38,6 @@ func BuildInit() { > >> >> > + } > >> >> > cfg.BuildPkgdir = p > >> >> > } > >> >> > - > >> >> > +- > >> >> > - // Make sure CC and CXX are absolute paths > >> >> > - for _, key := range []string{"CC", "CXX"} { > >> >> > - if path := cfg.Getenv(key); !filepath.IsAbs(path) && path != "" > && path != filepath.Base(path) { > >> >> > - base.Fatalf("go %s: %s environment variable is relative; must > be absolute path: %s\n", flag.Args()[0], key, path) > >> >> > - } > >> >> > - } > >> >> > -- > >> >> > - // For each experiment that has been enabled in the toolchain, > define a > >> >> > - // build tag with the same name but prefixed by "goexperiment." > which can be > >> >> > - // used for compiling alternative files for the experiment. This > allows > >> >> > + } > >> >> > + > >> >> > + func instrumentInit() { > >> >> > diff --git a/src/cmd/go/testdata/script/env_write.txt > b/src/cmd/go/testdata/script/env_write.txt > >> >> > -index bda1e57826..c99aadb7f2 100644 > >> >> > +index b5e9739167..566c876658 100644 > >> >> > --- a/src/cmd/go/testdata/script/env_write.txt > >> >> > +++ b/src/cmd/go/testdata/script/env_write.txt > >> >> > @@ -129,30 +129,6 @@ go env -w GOTMPDIR= > >> >> > @@ -91,5 +88,5 @@ index bda1e57826..c99aadb7f2 100644 > >> >> > env GOOS= > >> >> > env GOARCH= > >> >> > -- > >> >> > -2.30.1 > >> >> > +2.25.1 > >> >> > > >> >> > diff --git a/meta/recipes-devtools/go/go-binary-native_1.16.5.bb > b/meta/recipes-devtools/go/go-binary-native_1.17.bb > >> >> > similarity index 83% > >> >> > rename from meta/recipes-devtools/go/go-binary-native_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-binary-native_1.17.bb > >> >> > index b3e2b6a60e..2b3db17d3b 100644 > >> >> > --- a/meta/recipes-devtools/go/go-binary-native_1.16.5.bb > >> >> > +++ b/meta/recipes-devtools/go/go-binary-native_1.17.bb > >> >> > @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = > "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" > >> >> > PROVIDES = "go-native" > >> >> > > >> >> > 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] = > "b12c23023b68de22f74c0524f10b753e7b08b1504cb7e417eccebdd3fae49061" > >> >> > -SRC_URI[go_linux_arm64.sha256sum] = > "d5446b46ef6f36fdffa852f73dfbbe78c1ddf010b99fa4964944b9ae8b4d6799" > >> >> > +SRC_URI[go_linux_amd64.sha256sum] = > "6bf89fc4f5ad763871cf7eac80a2d594492de7a818303283f1366a7f6a30372d" > >> >> > +SRC_URI[go_linux_arm64.sha256sum] = > "01a9af009ada22122d3fcb9816049c1d21842524b38ef5d5a0e2ee4b26d7c3e7" > >> >> > > >> >> > UPSTREAM_CHECK_URI = "https://golang.org/dl/" > >> >> > UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux" > >> >> > diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb > b/meta/recipes-devtools/go/go-cross-canadian_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go-cross-canadian_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-cross-canadian_1.17.bb > >> >> > diff --git a/meta/recipes-devtools/go/go-cross_1.16.5.bb > b/meta/recipes-devtools/go/go-cross_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go-cross_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-cross_1.17.bb > >> >> > diff --git a/meta/recipes-devtools/go/go-crosssdk_1.16.5.bb > b/meta/recipes-devtools/go/go-crosssdk_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go-crosssdk_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-crosssdk_1.17.bb > >> >> > diff --git a/meta/recipes-devtools/go/go-native_1.16.5.bb > b/meta/recipes-devtools/go/go-native_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go-native_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-native_1.17.bb > >> >> > diff --git a/meta/recipes-devtools/go/go-runtime_1.16.5.bb > b/meta/recipes-devtools/go/go-runtime_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go-runtime_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go-runtime_1.17.bb > >> >> > diff --git a/meta/recipes-devtools/go/go_1.16.5.bb > b/meta/recipes-devtools/go/go_1.17.bb > >> >> > similarity index 100% > >> >> > rename from meta/recipes-devtools/go/go_1.16.5.bb > >> >> > rename to meta/recipes-devtools/go/go_1.17.bb > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > >> >> > >> >> -- > >> >> - Thou shalt not follow the NULL pointer, for chaos and madness await > >> >> thee at its end > >> >> - "Use the force Harry" - Gandalf, Star Trek II > >> >> > >> >> > >> >> > >> > >> > >> -- > >> - Thou shalt not follow the NULL pointer, for chaos and madness await > >> thee at its end > >> - "Use the force Harry" - Gandalf, Star Trek II > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end > - "Use the force Harry" - Gandalf, Star Trek II >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#155320): https://lists.openembedded.org/g/openembedded-core/message/155320 Mute This Topic: https://lists.openembedded.org/mt/85141060/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-