f100fd
import golang-1.16.5-1.module+el8.5.0+11702+5e79d6f7
@@ -1 +1 @@
|
|
1
|
-
SOURCES/go-go-1.16.
|
1
|
+
SOURCES/go-go-1.16.5-1-openssl-fips.tar.gz
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
c5b45fc02584bfd427270b9bebbf7d3758b65c44 SOURCES/go-go-1.16.5-1-openssl-fips.tar.gz
|
@@ -1,37 +0,0 @@
|
|
1
|
-
From 983dea90c169930e35721232afe39fd4e3fbe4a6 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Paul E. Murphy <murp@ibm.com>
|
3
|
-
Date: Tue, 27 Apr 2021 15:05:51 -0500
|
4
|
-
Subject: [PATCH] cmd/link: disable plugin support if cgo is disabled
|
5
|
-
|
6
|
-
Functional plugin support requires cgo to be enabled. Disable
|
7
|
-
it if the environment has disabled cgo.
|
8
|
-
|
9
|
-
This prevents unexpected linker failures when linking large
|
10
|
-
binaries with cgo disabled which use the plugin package.
|
11
|
-
|
12
|
-
Fixes #45564
|
13
|
-
|
14
|
-
Change-Id: Ib71f0e089f7373b7b3e3cd53da3612291e7bc473
|
15
|
-
Reviewed-on: https://go-review.googlesource.com/c/go/+/314449
|
16
|
-
Run-TryBot: Paul Murphy <murp@ibm.com>
|
17
|
-
Reviewed-by: Cherry Zhang <cherryyz@google.com>
|
18
|
-
TryBot-Result: Go Bot <gobot@golang.org>
|
19
|
-
Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
|
20
|
-
---
|
21
|
-
|
22
|
-
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
|
23
|
-
index adf1669..043bf5a 100644
|
24
|
-
--- a/src/cmd/link/internal/ld/lib.go
|
25
|
-
+++ b/src/cmd/link/internal/ld/lib.go
|
26
|
-
|
27
|
-
// up symbol by name may not get expected result.
|
28
|
-
|
29
|
-
iscgo = ctxt.LibraryByPkg["runtime/cgo"] != nil
|
30
|
-
- ctxt.canUsePlugins = ctxt.LibraryByPkg["plugin"] != nil
|
31
|
-
+
|
32
|
-
+ // Plugins a require cgo support to function. Similarly, plugins may require additional
|
33
|
-
+ // internal linker support on some platforms which may not be implemented.
|
34
|
-
+ ctxt.canUsePlugins = ctxt.LibraryByPkg["plugin"] != nil && iscgo
|
35
|
-
|
36
|
-
// We now have enough information to determine the link mode.
|
37
|
-
determineLinkMode(ctxt)
|
@@ -1,69 +0,0 @@
|
|
1
|
-
From 9ed736ac2a99aa2e7ef7d8bed3b01ca8b20a6f80 Mon Sep 17 00:00:00 2001
|
2
|
-
From: Lynn Boger <laboger@linux.vnet.ibm.com>
|
3
|
-
Date: Thu, 29 Apr 2021 16:07:25 -0500
|
4
|
-
Subject: [PATCH] cmd/link/internal: fix use of DynlinkingGo with ppc64le trampolines
|
5
|
-
|
6
|
-
When creating programs with large text sections on ppc64le,
|
7
|
-
trampolines are needed for calls that are too far; however
|
8
|
-
they are not created if the code is generated such that the TOC
|
9
|
-
register r2 is initialized and maintained in the code because
|
10
|
-
then the external linker can create the trampolines. Previously
|
11
|
-
the function DynlinkingGo was used to determine this but in the
|
12
|
-
case where plugins are used, this could return true even though
|
13
|
-
r2 is not valid.
|
14
|
-
|
15
|
-
To fix this problem I've added a new function r2Valid which returns
|
16
|
-
true when the build options indicate that the r2 is
|
17
|
-
initialized and maintained. Because of the ways that
|
18
|
-
DynlinkingGo is used I wanted to maintain its previous
|
19
|
-
behavior.
|
20
|
-
|
21
|
-
Fixes #45850
|
22
|
-
|
23
|
-
Change-Id: I6d902eba6ad41757aa6474948b79acdbd479cb38
|
24
|
-
Reviewed-on: https://go-review.googlesource.com/c/go/+/315289
|
25
|
-
Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
|
26
|
-
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
|
27
|
-
Reviewed-by: Cherry Zhang <cherryyz@google.com>
|
28
|
-
TryBot-Result: Go Bot <gobot@golang.org>
|
29
|
-
---
|
30
|
-
|
31
|
-
diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go
|
32
|
-
index 0638502..b877864 100644
|
33
|
-
--- a/src/cmd/link/internal/ppc64/asm.go
|
34
|
-
+++ b/src/cmd/link/internal/ppc64/asm.go
|
35
|
-
|
36
|
-
return int64(o2)<<32 | int64(o1)
|
37
|
-
}
|
38
|
-
|
39
|
-
+// Determine if the code was compiled so that the TOC register R2 is initialized and maintained
|
40
|
-
+func r2Valid(ctxt *ld.Link) bool {
|
41
|
-
+ switch ctxt.BuildMode {
|
42
|
-
+ case ld.BuildModeCArchive, ld.BuildModeCShared, ld.BuildModePIE, ld.BuildModeShared, ld.BuildModePlugin:
|
43
|
-
+ return true
|
44
|
-
+ }
|
45
|
-
+ // -linkshared option
|
46
|
-
+ return ctxt.IsSharedGoLink()
|
47
|
-
+}
|
48
|
-
+
|
49
|
-
// resolve direct jump relocation r in s, and add trampoline if necessary
|
50
|
-
func trampoline(ctxt *ld.Link, ldr *loader.Loader, ri int, rs, s loader.Sym) {
|
51
|
-
|
52
|
-
|
53
|
-
// For internal linking, trampolines are always created for long calls.
|
54
|
-
// For external linking, the linker can insert a call stub to handle a long call, but depends on having the TOC address in
|
55
|
-
// r2. For those build modes with external linking where the TOC address is not maintained in r2, trampolines must be created.
|
56
|
-
- if ctxt.IsExternal() && (ctxt.DynlinkingGo() || ctxt.BuildMode == ld.BuildModeCArchive || ctxt.BuildMode == ld.BuildModeCShared || ctxt.BuildMode == ld.BuildModePIE) {
|
57
|
-
+ if ctxt.IsExternal() && r2Valid(ctxt) {
|
58
|
-
// No trampolines needed since r2 contains the TOC
|
59
|
-
return
|
60
|
-
}
|
61
|
-
|
62
|
-
}
|
63
|
-
}
|
64
|
-
if ldr.SymType(tramp) == 0 {
|
65
|
-
- if ctxt.DynlinkingGo() || ctxt.BuildMode == ld.BuildModeCArchive || ctxt.BuildMode == ld.BuildModeCShared || ctxt.BuildMode == ld.BuildModePIE {
|
66
|
-
+ if r2Valid(ctxt) {
|
67
|
-
// Should have returned for above cases
|
68
|
-
ctxt.Errorf(s, "unexpected trampoline for shared or dynamic linking")
|
69
|
-
} else {
|
@@ -96,12 +96,12 @@
|
|
96
96
|
%endif
|
97
97
|
|
98
98
|
%global go_api 1.16
|
99
|
-
%global go_version 1.16.
|
99
|
+
%global go_version 1.16.5
|
100
100
|
%global pkg_release 1
|
101
101
|
|
102
102
|
Name: golang
|
103
103
|
Version: %{go_version}
|
104
|
-
Release:
|
104
|
+
Release: 1%{?dist}
|
105
105
|
Summary: The Go Programming Language
|
106
106
|
# source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain
|
107
107
|
License: BSD and Public Domain
|
@@ -147,18 +147,6 @@ Patch223: golang-1.15-warnCN.patch
|
|
147
147
|
|
148
148
|
Patch1939923: skip_test_rhbz1939923.patch
|
149
149
|
|
150
|
-
# cmd/link: disable plugin support if cgo is disabled
|
151
|
-
# Functional plugin support requires cgo to be enabled. Disable
|
152
|
-
# it if the environment has disabled cgo.
|
153
|
-
# This prevents unexpected linker failures when linking large
|
154
|
-
# binaries with cgo disabled which use the plugin package.
|
155
|
-
# https://go-review.googlesource.com/c/go/+/314449/
|
156
|
-
Patch1955032: rhbz1955032.patch
|
157
|
-
|
158
|
-
# cmd/link/internal: fix use of DynlinkingGo with ppc64le trampolines
|
159
|
-
# https://go-review.googlesource.com/c/go/+/315289
|
160
|
-
Patch1956891: rhbz1956891.patch
|
161
|
-
|
162
150
|
# Fix FIPS mode memory leaks
|
163
151
|
Patch1951877: fix-crypto-memory-leaks.patch
|
164
152
|
|
@@ -259,10 +247,6 @@ Requires: %{name} = %{version}-%{release}
|
|
259
247
|
|
260
248
|
%patch1939923 -p1
|
261
249
|
|
262
|
-
%patch1955032 -p1
|
263
|
-
|
264
|
-
%patch1956891 -p1
|
265
|
-
|
266
250
|
%patch1951877 -p1
|
267
251
|
|
268
252
|
|
@@ -532,6 +516,14 @@ cd ..
|
|
532
516
|
%endif
|
533
517
|
|
534
518
|
%changelog
|
519
|
+
* Tue Jul 06 2021 Alejandro Sáez <asm@redhat.com> - 1.16.5-1
|
520
|
+
- Rebase to 1.16.5
|
521
|
+
- Removes rhbz#1955032 patch, it's already included in this release
|
522
|
+
- Removes rhbz#1956891 patch, it's already included in this release
|
523
|
+
- Related: rhbz#1979677
|
524
|
+
- Related: rhbz#1968738
|
525
|
+
- Related: rhbz#1972420
|
526
|
+
|
535
527
|
* Thu Jun 17 2021 David Benoit <dbenoit@redhat.com> - 1.16.4-3
|
536
528
|
- Fix zero-size allocation memory leak.
|
537
529
|
- Related: rhbz#1951877
|