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