Merge remote-tracking branch 'up/f37' into f37-riscv64

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2023-01-10 06:23:18 +00:00
commit 81a8027572
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
4 changed files with 72 additions and 5 deletions

2
.gitignore vendored
View File

@ -122,3 +122,5 @@
/go1.19.src.tar.gz
/go1.19.1.src.tar.gz
/go1.19.2.src.tar.gz
/go1.19.3.src.tar.gz
/go1.19.4.src.tar.gz

View File

@ -0,0 +1,53 @@
From 5ccf9f47bf4f5ba53e0ab7338a7fd4626714cfb2 Mon Sep 17 00:00:00 2001
From: Jeffery To <jeffery.to@gmail.com>
Date: Tue, 23 Nov 2021 15:05:37 +0800
Subject: [PATCH] cmd/link: use gold on ARM/ARM64 only if gold is available
COPY relocation handling on ARM/ARM64 has been fixed in recent versions
of the GNU linker. This switches to gold only if gold is available.
Fixes #22040.
---
src/cmd/link/internal/ld/lib.go | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 9e13db7b71..2b379259a2 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1390,25 +1390,20 @@ func (ctxt *Link) hostlink() {
}
if ctxt.Arch.InFamily(sys.ARM, sys.ARM64) && buildcfg.GOOS == "linux" {
- // On ARM, the GNU linker will generate COPY relocations
- // even with -znocopyreloc set.
+ // On ARM, older versions of the GNU linker will generate
+ // COPY relocations even with -znocopyreloc set.
// https://sourceware.org/bugzilla/show_bug.cgi?id=19962
//
- // On ARM64, the GNU linker will fail instead of
- // generating COPY relocations.
+ // On ARM64, older versions of the GNU linker will fail
+ // instead of generating COPY relocations.
//
- // In both cases, switch to gold.
- altLinker = "gold"
-
- // If gold is not installed, gcc will silently switch
- // back to ld.bfd. So we parse the version information
- // and provide a useful error if gold is missing.
+ // In both cases, switch to gold if gold is available.
name, args := flagExtld[0], flagExtld[1:]
args = append(args, "-fuse-ld=gold", "-Wl,--version")
cmd := exec.Command(name, args...)
if out, err := cmd.CombinedOutput(); err == nil {
- if !bytes.Contains(out, []byte("GNU gold")) {
- log.Fatalf("ARM external linker must be gold (issue #15696), but is not: %s", out)
+ if bytes.Contains(out, []byte("GNU gold")) {
+ altLinker = "gold"
}
}
}
--
2.32.0

View File

@ -111,7 +111,7 @@
# Comment out go_prerelease and go_patch as needed
%global go_api 1.19
#global go_prerelease rc2
%global go_patch 2
%global go_patch 4
%global go_version %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease:~%{go_prerelease}}
%global go_source %{go_api}%{?go_patch:.%{go_patch}}%{?go_prerelease}
@ -148,12 +148,12 @@ Provides: go = %{version}-%{release}
# Bundled/Vendored provides generated by bundled-deps.sh based on the in tree module data
# - in version filed substituted with . per versioning guidelines
Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20220517023622.154dc81eb7b0
Provides: bundled(golang(github.com/google/pprof)) = 0.0.0.20220729232143.a41b82acbcb1
Provides: bundled(golang(github.com/ianlancetaylor/demangle)) = 0.0.0.20220319035150.800ac71e25c2
Provides: bundled(golang(golang.org/x/arch)) = 0.0.0.20220412001346.fc48f9fe4c15
Provides: bundled(golang(golang.org/x/crypto)) = 0.0.0.20220516162934.403b01795ae8
Provides: bundled(golang(golang.org/x/mod)) = 0.6.0.dev.0.20220419223038.86c51ed26bb4
Provides: bundled(golang(golang.org/x/net)) = 0.0.0.20220517181318.183a9ca12b87
Provides: bundled(golang(golang.org/x/net)) = 0.0.0.20220907013720.d52c520e3766
Provides: bundled(golang(golang.org/x/sync)) = 0.0.0.20220513210516.0976fa681c29
Provides: bundled(golang(golang.org/x/sys)) = 0.0.0.20220614162138.6c1b26c55098
Provides: bundled(golang(golang.org/x/term)) = 0.0.0.20220411215600.e5f449aeb171
@ -165,6 +165,7 @@ Requires: %{name}-src = %{version}-%{release}
Patch2: 0002-syscall-expose-IfInfomsg.X__ifi_pad-on-s390x.patch
Patch3: 0003-cmd-go-disable-Google-s-proxy-and-sumdb.patch
Patch4: 0004-cmd-link-use-gold-on-ARM-ARM64-only-if-gold-is-avail.patch
# Having documentation separate was broken
Obsoletes: %{name}-docs < 1.1-4
@ -544,9 +545,20 @@ fi
%endif
%changelog
* Tue Nov 08 2022 David Abdurachmanov <davidlt@rivosinc.com> - 1.19.2-1.0.riscv64
* Tue Jan 10 2022 David Abdurachmanov <davidlt@rivosinc.com> - 1.19.4-1.0.riscv64
- Enable riscv64
* Wed Dec 07 2022 Alejandro Sáez <asm@redhat.com> - 1.19.4-1
- Update to go1.19.4
- Resolves: rhbz#2151595
* Tue Nov 8 2022 Amit Shah <amitshah@fedoraproject.org> - 1.19.3-2
- Fix build without binutils-gold
* Sun Nov 06 2022 Mike Rochefort <mroche@redhat.com> - 1.19.3-1
- Update to go1.19.3
- Resolves: rhbz#2139548
* Tue Oct 04 2022 Alejandro Sáez <asm@redhat.com> - 1.19.2-1
- Update to go1.19.2

View File

@ -1 +1 @@
SHA512 (go1.19.2.src.tar.gz) = 72901e5eaf1857b22bf62a82690579aa4bd8b8130f16416313d249600c99e1ae3c1451ac5c53138ce41dd39dd72dcf8d0f3592b98f4239754efcf4f8b0103cb4
SHA512 (go1.19.4.src.tar.gz) = 00866e171d73170583e292439beecdaaee1b8fa907b6ab03013390b0cd7eaebfbe8cb9f9222f1af86933b50602e584677bc3aa25993c02d07a11625a62db263b