Compare commits
No commits in common. "c8-stream-rhel8" and "c9s" have entirely different histories.
c8-stream-
...
c9s
|
@ -1,2 +1,73 @@
|
|||
SOURCES/go1.20.12-2-openssl-fips.tar.gz
|
||||
SOURCES/go1.20.12.tar.gz
|
||||
/go1.8.3.src.tar.gz
|
||||
/go1.8.4.src.tar.gz
|
||||
/go1.8.5.src.tar.gz
|
||||
/go1.10.src.tar.gz
|
||||
/go1.10.2.src.tar.gz
|
||||
/dev.boringcrypto.go1.10.tar.gz
|
||||
/go1.9.7.linux-amd64.tar.gz
|
||||
/go1.9.7.linux-386.tar.gz
|
||||
/go1.9.7.linux-ppc64le.tar.gz
|
||||
/go1.9.7.linux-s390x.tar.gz
|
||||
/go1.9.7.linux-arm64.tar.gz
|
||||
/go1.10.3-openssl-1-1-fips.tar.gz
|
||||
/go1.11-openssl-1.1-fips.tar.gz
|
||||
/go1.11.5-openssl-1.1.tar.gz
|
||||
/go-go1.11.5-openssl-1.1.tar.gz
|
||||
/go1.12.1-openssl-fips.tar.gz
|
||||
/go1.12.1-3-openssl-fips.tar.gz
|
||||
/go1.12.1-4-openssl-fips.tar.gz
|
||||
/go1.12.1-8-openssl-fips.tar.gz
|
||||
/go1.12.1-9-openssl-fips.tar.gz
|
||||
/go1.12.5-1-openssl-fips.tar.gz
|
||||
/go1.12.6-1-openssl-fips.tar.gz
|
||||
/go-go-1.12.6-2-openssl-fips.tar.gz
|
||||
/go-go-1.12.6-3-openssl-fips.tar.gz
|
||||
/go-go-1.12.8-2-openssl-fips.tar.gz
|
||||
/go-go-1.13.4-1-openssl-fips.tar.gz
|
||||
/go-go-1.14.2-1-openssl-fips.tar.gz
|
||||
/go-go-1.14.4-1-openssl-fips.tar.gz
|
||||
/go-go-1.14.6-1-openssl-fips.tar.gz
|
||||
/go-go-1.14.7-1-openssl-fips.tar.gz
|
||||
/go-go-1.14.7-2-openssl-fips.tar.gz
|
||||
/go-go-1.15.0-2-openssl-fips.tar.gz
|
||||
/go-go-1.15.2-1-openssl-fips.tar.gz
|
||||
/go-go-1.15.3-1-openssl-fips.tar.gz
|
||||
/go-go-1.15.5-1-openssl-fips.tar.gz
|
||||
/go-go-1.15.7-1-openssl-fips.tar.gz
|
||||
/go-go-1.16.1-1-openssl-fips.tar.gz
|
||||
/go-go-1.16.1-2-openssl-fips.tar.gz
|
||||
/go-go-1.16.4-1-openssl-fips.tar.gz
|
||||
/go-go-1.16.5-1-openssl-fips.tar.gz
|
||||
/go-go-1.16.6-1-openssl-fips.tar.gz
|
||||
/go-go-1.16.6-3-openssl-fips.tar.gz
|
||||
/go-go-1.16.7-1-openssl-fips.tar.gz
|
||||
/go-go-1.17.2-1-openssl-fips.tar.gz
|
||||
/go-go-1.17.3-1-openssl-fips.tar.gz
|
||||
/go-go-1.17.4-1-openssl-fips.tar.gz
|
||||
/go-go-1.17.5-1-openssl-fips.tar.gz
|
||||
/go-go-1.17.7-1-openssl-fips.tar.gz
|
||||
/go1.19.1.tar.gz
|
||||
/go1.19.2.tar.gz
|
||||
/go1.19.4-1-openssl-fips.tar.gz
|
||||
/go1.19.4.tar.gz
|
||||
/go1.19.6.tar.gz
|
||||
/go1.19.6-1-openssl-fips.tar.gz
|
||||
/go1.20.3.tar.gz
|
||||
/go1.20.3-1-openssl-fips.tar.gz
|
||||
/go1.20.4.tar.gz
|
||||
/go1.20.4-3-openssl-fips.tar.gz
|
||||
/go1.20.6.tar.gz
|
||||
/go1.20.6-1-openssl-fips.tar.gz
|
||||
/go1.20.8.tar.gz
|
||||
/go1.20.8-1-openssl-fips.tar.gz
|
||||
/go1.21.3-1-openssl-fips.tar.gz
|
||||
/go1.21.3.tar.gz
|
||||
/go1.21.4.tar.gz
|
||||
/go1.21.4-1-openssl-fips.tar.gz
|
||||
/go1.21.7.tar.gz
|
||||
/go1.21.7-1-openssl-fips.tar.gz
|
||||
/go1.22.1.tar.gz
|
||||
/go1.22.1-1-openssl-fips.tar.gz
|
||||
/go1.22.1-2-openssl-fips.tar.gz
|
||||
/go1.22.2.tar.gz
|
||||
/go1.22.2-1-openssl-fips.tar.gz
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
f57205df5fc5d2e0392ca39c795c6d60d22f0c80 SOURCES/go1.20.12-2-openssl-fips.tar.gz
|
||||
6d5bc127443fc42b1af8d9ba4115abe18554feb7 SOURCES/go1.20.12.tar.gz
|
|
@ -0,0 +1,65 @@
|
|||
# Golang
|
||||
|
||||
## Introduction
|
||||
|
||||
This package holds the spec file and related patches for the Golang package.
|
||||
The golang package is part of the larger go-toolset meta package.
|
||||
|
||||
## Sources
|
||||
|
||||
This particular branch provides Go 1.16.x. The sources for this branch can be
|
||||
found at https://pagure.io/go/tree/go1.16-openssl-fips. The reason the source is
|
||||
coming from a pagure fork as opposed to an upstream tarball is due to certain
|
||||
patches we have written and currently maintain in order to claim FIPS compliance
|
||||
by calling into OpenSSL. Shipping a forked version of the toolchain is not the
|
||||
ideal scenario, and there is work in progress with upstream to enable us to
|
||||
instead ship a pure upstream toolchain and include a crypto module in go-toolset
|
||||
which will satisfy our FIPS requirements.
|
||||
|
||||
The current fork is based on an upstream branch[[0]] which uses
|
||||
boringcrypto[[1]] instead of OpenSSL.
|
||||
|
||||
If you need to make changes to the source for a rebase or bug fix, check out the
|
||||
pagure repo and switch to the branch listed above. Once you have made your
|
||||
changes you can test them locally with `./all.bash`. You may want to export
|
||||
`GOLANG_FIPS=1` before running that if you want to verify the FIPS codepaths are
|
||||
correct. Please note however that the test suite does not fully expect FIPS
|
||||
compliance, and will attempt to test non FIPS compliant code paths. The easiest
|
||||
way to test your changes correctly is to create a tarball locally and execute a
|
||||
mockbuild using this packge, which knows how to correctly run the testsuite in
|
||||
both FIPS and non-FIPS modes.
|
||||
|
||||
NOTE: The way pagure previously handled uploaded releases has changed, and
|
||||
releases must be tagged in the appropriate branch, from which pagure will
|
||||
generate source tarballs.
|
||||
|
||||
## Testing & building changes
|
||||
|
||||
The first test you should run is a local mockbuild. This can be done with the
|
||||
rhpkg command:
|
||||
|
||||
```
|
||||
rhpkg mockbuild
|
||||
```
|
||||
|
||||
Once everything builds and passes locally you'll likely want to perform a
|
||||
scratch build. This will ensure that the changes you made build and run
|
||||
correctly on all architectures that this package supports. The best way to do
|
||||
this is to run a scratch build from your local sources without first having to
|
||||
push them. This ensures your changes are correct before commiting them to the
|
||||
repo. This can also be done via the following rhpkg command:
|
||||
|
||||
```
|
||||
rhpkg scratch-build --srpm
|
||||
```
|
||||
|
||||
Once your scratch build has passed you can execute a real build:
|
||||
|
||||
```
|
||||
rhpkg build
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[0] https://github.com/golang/go/tree/dev.boringcrypto
|
||||
[1] https://opensource.google.com/projects/boringssl
|
|
@ -1,288 +0,0 @@
|
|||
diff --git a/src/crypto/internal/backend/nobackend.go b/src/crypto/internal/backend/nobackend.go
|
||||
index 5f258a2..5dbbc42 100644
|
||||
--- a/src/crypto/internal/backend/nobackend.go
|
||||
+++ b/src/crypto/internal/backend/nobackend.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl
|
||||
-// +build !linux !cgo android cmd_go_bootstrap msan no_openssl
|
||||
+//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl || static
|
||||
+// +build !linux !cgo android cmd_go_bootstrap msan no_openssl static
|
||||
|
||||
package backend
|
||||
|
||||
diff --git a/src/crypto/internal/boring/goboringcrypto.h b/src/crypto/internal/boring/goboringcrypto.h
|
||||
index d6d99b1..f2fe332 100644
|
||||
--- a/src/crypto/internal/boring/goboringcrypto.h
|
||||
+++ b/src/crypto/internal/boring/goboringcrypto.h
|
||||
@@ -1,4 +1,5 @@
|
||||
// Copyright 2017 The Go Authors. All rights reserved.
|
||||
+// +build !static
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
diff --git a/src/crypto/internal/boring/syso/syso.go b/src/crypto/internal/boring/syso/syso.go
|
||||
index b338754..db5ea1e 100644
|
||||
--- a/src/crypto/internal/boring/syso/syso.go
|
||||
+++ b/src/crypto/internal/boring/syso/syso.go
|
||||
@@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build boringcrypto
|
||||
+//go:build boringcrypto && !static
|
||||
|
||||
// This package only exists with GOEXPERIMENT=boringcrypto.
|
||||
// It provides the actual syso file.
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/aes.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/aes.go
|
||||
index 079fc3c..e826d0b 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/aes.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/aes.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
index 0b61e79..94d0c98 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdsa.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdsa.go
|
||||
index afec529..d822152 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdsa.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdsa.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h b/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
index 6d6a562..17cc314 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
@@ -1,4 +1,5 @@
|
||||
// Copyright 2017 The Go Authors. All rights reserved.
|
||||
+// +build !static
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
// +build linux
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/hkdf.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/hkdf.go
|
||||
index ae40b93..17bc075 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/hkdf.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/hkdf.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/hmac.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/hmac.go
|
||||
index 6f00177..f466b18 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/hmac.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/hmac.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/notboring.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/notboring.go
|
||||
index 7c0b5d6..262af07 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/notboring.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/notboring.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl
|
||||
-// +build !linux !cgo android cmd_go_bootstrap msan no_openssl
|
||||
+//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl || static
|
||||
+// +build !linux !cgo android cmd_go_bootstrap msan no_openssl static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl.go
|
||||
index d49194d..ff15054 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_ecdsa_signature.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_ecdsa_signature.c
|
||||
index 2349db1..57fbb04 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_ecdsa_signature.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_ecdsa_signature.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// +build linux
|
||||
+// +build !static
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
// +build !cmd_go_bootstrap
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
index 4379019..5034c46 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// +build linux
|
||||
+// +build !static
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
// +build !cmd_go_bootstrap
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_lock_setup.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_lock_setup.c
|
||||
index 49d40a7..3b3dbf8 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_lock_setup.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_lock_setup.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// +build linux
|
||||
+// +build !static
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
// +build !cmd_go_bootstrap
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_aead_gcm.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_aead_gcm.c
|
||||
index 7eb645e..1c3225a 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_aead_gcm.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_aead_gcm.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// This file contains a port of the BoringSSL AEAD interface.
|
||||
+// +build !static
|
||||
// +build linux
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_ctr128.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_ctr128.c
|
||||
index df4ebe3..876393b 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_ctr128.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_ctr128.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// +build linux
|
||||
+// +build !static
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
// +build !cmd_go_bootstrap
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_evp_md5_sha1.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_evp_md5_sha1.c
|
||||
index 2eedd5b..04510d3 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_evp_md5_sha1.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_evp_md5_sha1.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// This file contains a backport of the EVP_md5_sha1 method.
|
||||
+// +build !static
|
||||
// +build linux
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_hmac.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_hmac.c
|
||||
index 362d9e5..bebafef 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_hmac.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_hmac.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// This file contains HMAC portability wrappers.
|
||||
+// +build !static
|
||||
// +build linux
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_rsa.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_rsa.c
|
||||
index 2824147..8bc1d85 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_rsa.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_port_rsa.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// This file contains RSA portability wrappers.
|
||||
+// +build !static
|
||||
// +build linux
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_stub_rand.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_stub_rand.c
|
||||
index 22bd865..b7aa26b 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_stub_rand.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_stub_rand.c
|
||||
@@ -1,4 +1,5 @@
|
||||
// +build linux
|
||||
+// +build !static
|
||||
// +build !android
|
||||
// +build !no_openssl
|
||||
// +build !cmd_go_bootstrap
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rand.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rand.go
|
||||
index b3668b8..dcdae70 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rand.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rand.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
index 915c840..8623d9d 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/sha.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/sha.go
|
||||
index 0b55ced..57309c0 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/sha.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/sha.go
|
||||
@@ -2,8 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl
|
||||
-// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl
|
||||
+//go:build linux && !android && !cmd_go_bootstrap && !msan && !no_openssl && !static
|
||||
+// +build linux,!android,!cmd_go_bootstrap,!msan,!no_openssl,!static
|
||||
|
||||
package openssl
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
|
||||
index 9f26606..2408505 100644
|
||||
--- a/src/cmd/dist/test.go
|
||||
+++ b/src/cmd/dist/test.go
|
||||
@@ -1259,7 +1259,7 @@ func (t *tester) registerCgoTests() {
|
||||
} else {
|
||||
panic("unknown linkmode with static build: " + linkmode)
|
||||
}
|
||||
- gt.tags = append(gt.tags, "static")
|
||||
+ gt.tags = append(gt.tags, "static", "no_openssl")
|
||||
}
|
||||
|
||||
t.registerTest("cgo:"+name, "../misc/cgo/test", gt, opts...)
|
|
@ -1,172 +0,0 @@
|
|||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
index 56adf47bf6..9537870e3c 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/ecdh.go
|
||||
@@ -22,22 +22,10 @@ var (
|
||||
type PublicKeyECDH struct {
|
||||
_pkey *C.GO_EVP_PKEY
|
||||
bytes []byte
|
||||
-
|
||||
- // priv is only set when PublicKeyECDH is derived from a private key,
|
||||
- // in which case priv's finalizer is responsible for freeing _pkey.
|
||||
- // This ensures priv is not finalized while the public key is alive,
|
||||
- // which could cause use-after-free and double-free behavior.
|
||||
- //
|
||||
- // We could avoid this altogether by using EVP_PKEY_up_ref
|
||||
- // when instantiating a derived public key, unfortunately
|
||||
- // it is not available on OpenSSL 1.0.2.
|
||||
- priv *PrivateKeyECDH
|
||||
}
|
||||
|
||||
func (k *PublicKeyECDH) finalize() {
|
||||
- if k.priv == nil {
|
||||
- C._goboringcrypto_EVP_PKEY_free(k._pkey)
|
||||
- }
|
||||
+ C._goboringcrypto_EVP_PKEY_free(k._pkey)
|
||||
}
|
||||
|
||||
type PrivateKeyECDH struct {
|
||||
@@ -58,7 +46,7 @@ func NewPublicKeyECDH(curve string, bytes []byte) (*PublicKeyECDH, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
- k := &PublicKeyECDH{pkey, append([]byte(nil), bytes...), nil}
|
||||
+ k := &PublicKeyECDH{pkey, append([]byte(nil), bytes...)}
|
||||
runtime.SetFinalizer(k, (*PublicKeyECDH).finalize)
|
||||
return k, nil
|
||||
}
|
||||
@@ -87,14 +75,22 @@ func (k *PrivateKeyECDH) PublicKey() (*PublicKeyECDH, error) {
|
||||
var bytes []byte
|
||||
var cbytes *C.uchar
|
||||
|
||||
- n := C._goboringcrypto_EVP_PKEY_get1_encoded_ecdh_public_key(k._pkey, &cbytes)
|
||||
+ pkey := C._goboringcrypto_EVP_PKEY_ref(k._pkey)
|
||||
+ if pkey == nil {
|
||||
+ return nil, NewOpenSSLError("EVP_PKEY_ref")
|
||||
+ }
|
||||
+ defer func() {
|
||||
+ C._goboringcrypto_EVP_PKEY_free(pkey)
|
||||
+ }()
|
||||
+ n := C._goboringcrypto_EVP_PKEY_get1_encoded_ecdh_public_key(pkey, &cbytes)
|
||||
if n == 0 {
|
||||
return nil, NewOpenSSLError("EVP_PKEY_get1_encoded_ecdh_public_key")
|
||||
}
|
||||
bytes = C.GoBytes(unsafe.Pointer(cbytes), C.int(n))
|
||||
C.free(unsafe.Pointer(cbytes))
|
||||
|
||||
- pub := &PublicKeyECDH{k._pkey, bytes, k}
|
||||
+ pub := &PublicKeyECDH{pkey, bytes}
|
||||
+ pkey = nil
|
||||
runtime.SetFinalizer(pub, (*PublicKeyECDH).finalize)
|
||||
return pub, nil
|
||||
}
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h b/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
index a900b3f9e7..03367d5520 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/goopenssl.h
|
||||
@@ -827,6 +827,9 @@ DEFINEFUNC(GO_EVP_PKEY *, EVP_PKEY_new, (void), ())
|
||||
DEFINEFUNC(void, EVP_PKEY_free, (GO_EVP_PKEY * arg0), (arg0))
|
||||
DEFINEFUNC(int, EVP_PKEY_set1_RSA, (GO_EVP_PKEY * arg0, GO_RSA *arg1), (arg0, arg1))
|
||||
DEFINEFUNC(int, EVP_PKEY_set1_EC_KEY, (GO_EVP_PKEY * arg0, GO_EC_KEY *arg1), (arg0, arg1))
|
||||
+DEFINEFUNC(const GO_EC_KEY *, EVP_PKEY_get0_EC_KEY, (const GO_EVP_PKEY *pkey), (pkey))
|
||||
+GO_EVP_PKEY *_goboringcrypto_EVP_PKEY_ref(GO_EVP_PKEY *pkey);
|
||||
+
|
||||
DEFINEFUNC(int, EVP_PKEY_verify,
|
||||
(EVP_PKEY_CTX *ctx, const unsigned char *sig, unsigned int siglen, const unsigned char *tbs, size_t tbslen),
|
||||
(ctx, sig, siglen, tbs, tbslen))
|
||||
@@ -1083,15 +1086,6 @@ enum {
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
DEFINEFUNC(int, EVP_PKEY_set1_encoded_public_key, (GO_EVP_PKEY *pkey, const unsigned char *pub, size_t publen), (pkey, pub, publen))
|
||||
DEFINEFUNC(size_t, EVP_PKEY_get1_encoded_public_key, (GO_EVP_PKEY *pkey, unsigned char **ppub), (pkey, ppub))
|
||||
-
|
||||
-DEFINEFUNC(const GO_EC_KEY *, EVP_PKEY_get0_EC_KEY, (const GO_EVP_PKEY *pkey), (pkey))
|
||||
-#else
|
||||
-DEFINEFUNCINTERNAL(void *, EVP_PKEY_get0, (const GO_EVP_PKEY *pkey), (pkey))
|
||||
-static const GO_EC_KEY *
|
||||
-_goboringcrypto_EVP_PKEY_get0_EC_KEY(const GO_EVP_PKEY *pkey)
|
||||
-{
|
||||
- return _goboringcrypto_internal_EVP_PKEY_get0(pkey);
|
||||
-}
|
||||
#endif
|
||||
|
||||
GO_EVP_PKEY *_goboringcrypto_EVP_PKEY_new_for_ecdh(int nid, const uint8_t *bytes, size_t len, int is_private);
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
index 24a9615108..c6b23a984b 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c
|
||||
@@ -5,6 +5,7 @@
|
||||
// +build !msan
|
||||
|
||||
#include "goopenssl.h"
|
||||
+#include <assert.h>
|
||||
|
||||
int _goboringcrypto_EVP_sign(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *msg,
|
||||
size_t msgLen, uint8_t *sig, size_t *slen,
|
||||
@@ -138,3 +139,52 @@ err:
|
||||
|
||||
return ret;
|
||||
}
|
||||
+
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
+DEFINEFUNCINTERNAL(int, EVP_PKEY_up_ref, (GO_EVP_PKEY *pkey), (pkey))
|
||||
+
|
||||
+GO_EVP_PKEY *
|
||||
+_goboringcrypto_EVP_PKEY_ref(GO_EVP_PKEY *pkey)
|
||||
+{
|
||||
+ if (_goboringcrypto_internal_EVP_PKEY_up_ref(pkey) != 1)
|
||||
+ return NULL;
|
||||
+
|
||||
+ return pkey;
|
||||
+}
|
||||
+
|
||||
+#else
|
||||
+GO_EVP_PKEY *
|
||||
+_goboringcrypto_EVP_PKEY_ref(GO_EVP_PKEY *pkey)
|
||||
+{
|
||||
+ GO_EVP_PKEY *result = NULL;
|
||||
+
|
||||
+ if (pkey->type != EVP_PKEY_EC && pkey->type != EVP_PKEY_RSA)
|
||||
+ return NULL;
|
||||
+
|
||||
+ result = _goboringcrypto_EVP_PKEY_new();
|
||||
+ if (!result)
|
||||
+ goto err;
|
||||
+
|
||||
+ switch (pkey->type) {
|
||||
+ case EVP_PKEY_EC:
|
||||
+ if (_goboringcrypto_EVP_PKEY_set1_EC_KEY(result, _goboringcrypto_EVP_PKEY_get0_EC_KEY()) != 1)
|
||||
+ goto err;
|
||||
+ break;
|
||||
+
|
||||
+ case EVP_PKEY_RSA:
|
||||
+ if (_goboringcrypto_EVP_PKEY_set1_RSA_KEY(result, _goboringcrypto_EVP_PKEY_get0_RSA_KEY()) != 1)
|
||||
+ goto err;
|
||||
+
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ assert(0);
|
||||
+ }
|
||||
+
|
||||
+ return result;
|
||||
+
|
||||
+err:
|
||||
+ _goboringcrypto_EVP_PKEY_free(result);
|
||||
+ return NULL;
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
index 75ba7a8a59..1e016676a0 100644
|
||||
--- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/rsa.go
|
||||
@@ -116,7 +116,9 @@ func (k *PrivateKeyRSA) withKey(f func(*C.GO_RSA) C.int) C.int {
|
||||
|
||||
func setupRSA(withKey func(func(*C.GO_RSA) C.int) C.int,
|
||||
padding C.int, h hash.Hash, label []byte, saltLen int, ch crypto.Hash,
|
||||
- init func(*C.GO_EVP_PKEY_CTX) C.int) (pkey *C.GO_EVP_PKEY, ctx *C.GO_EVP_PKEY_CTX, err error) {
|
||||
+ init func(*C.GO_EVP_PKEY_CTX) C.int) (_ *C.GO_EVP_PKEY,_ *C.GO_EVP_PKEY_CTX, err error) {
|
||||
+ var pkey *C.GO_EVP_PKEY
|
||||
+ var ctx *C.GO_EVP_PKEY_CTX
|
||||
defer func() {
|
||||
if err != nil {
|
||||
if pkey != nil {
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/src/crypto/rsa/pkcs1v15_test.go b/src/crypto/rsa/pkcs1v15_test.go
|
||||
index 0853178e3a..16eb37734b 100644
|
||||
--- a/src/crypto/rsa/pkcs1v15_test.go
|
||||
+++ b/src/crypto/rsa/pkcs1v15_test.go
|
||||
@@ -247,6 +247,10 @@ func TestVerifyPKCS1v15(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestOverlongMessagePKCS1v15(t *testing.T) {
|
||||
+ // OpenSSL now returns a random string instead of an error
|
||||
+ if boring.Enabled() {
|
||||
+ t.Skip("Not relevant in boring mode")
|
||||
+ }
|
||||
ciphertext := decodeBase64("fjOVdirUzFoLlukv80dBllMLjXythIf22feqPrNo0YoIjzyzyoMFiLjAc/Y4krkeZ11XFThIrEvw\nkRiZcCq5ng==")
|
||||
_, err := DecryptPKCS1v15(nil, rsaPrivateKey, ciphertext)
|
||||
if err == nil {
|
|
@ -0,0 +1,6 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
|
@ -56,7 +56,7 @@
|
|||
%endif
|
||||
|
||||
# Controls what ever we fail on failed tests
|
||||
%ifarch x86_64 %{arm} aarch64 ppc64le s390x
|
||||
%ifarch x86_64 %{arm} ppc64le s390x
|
||||
%global fail_on_tests 1
|
||||
%else
|
||||
%global fail_on_tests 0
|
||||
|
@ -69,6 +69,7 @@
|
|||
%global shared 0
|
||||
%endif
|
||||
|
||||
# Pre build std lib with -race enabled
|
||||
# Disabled due to 1.20 new cache usage, see 1.20 upstream release notes
|
||||
%global race 0
|
||||
|
||||
|
@ -91,14 +92,14 @@
|
|||
%global gohostarch s390x
|
||||
%endif
|
||||
|
||||
%global go_api 1.20
|
||||
%global version 1.20.12
|
||||
%global pkg_release 2
|
||||
%global go_api 1.22
|
||||
%global go_version 1.22.2
|
||||
%global version %{go_version}
|
||||
%global pkg_release 1
|
||||
|
||||
Name: golang
|
||||
Version: %{version}
|
||||
Release: 8%{?dist}
|
||||
|
||||
Release: 1%{?dist}
|
||||
Summary: The Go Programming Language
|
||||
# source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain
|
||||
License: BSD and Public Domain
|
||||
|
@ -110,7 +111,7 @@ Source0: https://github.com/golang/go/archive/refs/tags/go%{version}.tar.
|
|||
# located at https://github.com/golang-fips/openssl-fips,
|
||||
# And pre-genetated patches to set up the module for a given
|
||||
# Go release are located at https://github.com/golang-fips/go.
|
||||
Source1: https://github.com/golang-fips/go/archive/refs/tags/go%{version}-%{pkg_release}-openssl-fips.tar.gz
|
||||
Source1: https://github.com/golang-fips/go/archive/refs/tags/go%{version}-%{pkg_release}-openssl-fips.tar.gz
|
||||
# make possible to override default traceback level at build time by setting build tag rpm_crashtraceback
|
||||
Source2: fedora.go
|
||||
|
||||
|
@ -137,17 +138,14 @@ Requires: %{name}-src = %{version}-%{release}
|
|||
Requires: openssl-devel
|
||||
Requires: diffutils
|
||||
|
||||
|
||||
# Proposed patch by jcajka https://golang.org/cl/86541
|
||||
Patch221: fix_TestScript_list_std.patch
|
||||
Patch222: skip-test-overlong-message.patch
|
||||
|
||||
Patch1939923: skip_test_rhbz1939923.patch
|
||||
|
||||
Patch2: disable_static_tests_part1.patch
|
||||
Patch3: disable_static_tests_part2.patch
|
||||
|
||||
Patch229: fix-memleak-rsa-ecdh.patch
|
||||
Patch4: modify_go.env.patch
|
||||
Patch5: re-enable-cgo.patch
|
||||
Patch6: skip_TestCrashDumpsAllThreads.patch
|
||||
|
||||
# Having documentation separate was broken
|
||||
Obsoletes: %{name}-docs < 1.1-4
|
||||
|
@ -155,7 +153,7 @@ Obsoletes: %{name}-docs < 1.1-4
|
|||
# RPM can't handle symlink -> dir with subpackages, so merge back
|
||||
Obsoletes: %{name}-data < 1.1.1-4
|
||||
|
||||
# We don't build golang-race anymore, rhbz#2230599
|
||||
# We don't build golang-race anymore, rhbz#2230705
|
||||
Obsoletes: golang-race < 1.20.0
|
||||
|
||||
# These are the only RHEL/Fedora architectures that we compile this package for
|
||||
|
@ -238,15 +236,26 @@ Requires: %{name} = %{version}-%{release}
|
|||
%{summary}
|
||||
%endif
|
||||
|
||||
%package -n go-toolset
|
||||
Summary: Package that installs go-toolset
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%ifarch x86_64 aarch64 ppc64le
|
||||
Requires: delve
|
||||
%endif
|
||||
|
||||
%description -n go-toolset
|
||||
This is the main package for go-toolset.
|
||||
|
||||
%prep
|
||||
%setup -q -n go-go%{version}
|
||||
|
||||
pushd ..
|
||||
tar -xf %{SOURCE1}
|
||||
popd
|
||||
|
||||
for patch in ../go-go%{version}-%{pkg_release}-openssl-fips/patches/*.patch; do
|
||||
patch -p1 < "${patch}"
|
||||
patch_dir="../go-go%{version}-%{pkg_release}-openssl-fips/patches"
|
||||
for p in "$patch_dir"/*.patch; do
|
||||
echo "Applying $p"
|
||||
patch -p1 < $p
|
||||
done
|
||||
|
||||
# Configure crypto tests
|
||||
|
@ -255,16 +264,9 @@ ln -s ../go-go%{version} go
|
|||
./scripts/configure-crypto-tests.sh
|
||||
popd
|
||||
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%patch221 -p1
|
||||
%patch222 -p1
|
||||
|
||||
%patch229 -p1
|
||||
|
||||
%patch1939923 -p1
|
||||
%autopatch -p1
|
||||
|
||||
sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION
|
||||
|
||||
cp %{SOURCE2} ./src/runtime/
|
||||
|
||||
|
@ -335,7 +337,7 @@ rm -rf pkg/bootstrap/bin
|
|||
|
||||
# install everything into libdir (until symlink problems are fixed)
|
||||
# https://code.google.com/p/go/issues/detail?id=5830
|
||||
cp -apv api bin doc lib pkg src misc test VERSION \
|
||||
cp -apv api bin doc lib pkg src misc test go.env VERSION \
|
||||
$RPM_BUILD_ROOT%{goroot}
|
||||
|
||||
# bz1099206
|
||||
|
@ -378,7 +380,7 @@ pushd $RPM_BUILD_ROOT%{goroot}
|
|||
echo "%%{goroot}/$file" >> $shared_list
|
||||
echo "%%{golibdir}/$(basename $file)" >> $shared_list
|
||||
done
|
||||
|
||||
|
||||
find pkg/*_dynlink/ -type d -printf '%%%dir %{goroot}/%p\n' >> $shared_list
|
||||
find pkg/*_dynlink/ ! -type d -printf '%{goroot}/%p\n' >> $shared_list
|
||||
%endif
|
||||
|
@ -452,18 +454,16 @@ export GO_TEST_RUN=""
|
|||
|
||||
%if %{fail_on_tests}
|
||||
|
||||
# TestEd25519Vectors needs network connectivity but it should be cover by
|
||||
# this test https://pkgs.devel.redhat.com/cgit/tests/golang/tree/Regression/internal-testsuite/runtest.sh#n127
|
||||
|
||||
./run.bash --no-rebuild -v -v -v -k $GO_TEST_RUN
|
||||
|
||||
# Run tests with FIPS enabled.
|
||||
export GOLANG_FIPS=1
|
||||
export OPENSSL_FORCE_FIPS_MODE=1
|
||||
pushd crypto
|
||||
# Run all crypto tests but skip TLS, we will run FIPS specific TLS tests later
|
||||
go test $(go list ./... | grep -v tls) -v
|
||||
go test -timeout 50m $(go list ./... | grep -v tls) -v
|
||||
# Check that signature functions have parity between boring and notboring
|
||||
CGO_ENABLED=0 go test $(go list ./... | grep -v tls) -v
|
||||
CGO_ENABLED=0 go test -timeout 50m $(go list ./... | grep -v tls) -v
|
||||
popd
|
||||
# Run all FIPS specific TLS tests
|
||||
pushd crypto/tls
|
||||
|
@ -520,60 +520,101 @@ cd ..
|
|||
%files -f go-pkg.list bin
|
||||
%{_bindir}/go
|
||||
%{_bindir}/gofmt
|
||||
%{goroot}/go.env
|
||||
|
||||
%if %{shared}
|
||||
%files -f go-shared.list shared
|
||||
%endif
|
||||
|
||||
%files -n go-toolset
|
||||
|
||||
%changelog
|
||||
* Wed Apr 10 2024 David Benoit <dbenoit@redhat.com> - 1.20.12-8
|
||||
- Update sources file
|
||||
- Related: RHEL-27928
|
||||
* Thu Apr 18 2024 Derek Parker <deparker@redhat.com> - 1.22.2-1
|
||||
- Rebase to 1.22.2
|
||||
- Resolves: RHEL-28941
|
||||
|
||||
* Tue Apr 09 2024 David Benoit <dbenoit@redhat.com> - 1.20.12-7
|
||||
- Fix CVE-2024-1394
|
||||
- Resolves: RHEL-27928
|
||||
* Tue Apr 09 2024 Alejandro Sáez <asm@redhat.com> - 1.22.1-2
|
||||
- Set the AMD64 baseline to v2
|
||||
|
||||
* Mon Apr 08 2024 Derek Parker <deparker@redhat.com> - 1.20.12-6
|
||||
- Fix CVE-2023-45288
|
||||
- Resolves: RHEL-31914
|
||||
* Tue Mar 19 2024 Alejandro Sáez <asm@redhat.com> - 1.22.1-1
|
||||
- Rebase to Go 1.22.1
|
||||
- Re-enable CGO
|
||||
- Resolves: RHEL-29527
|
||||
- Resolves: RHEL-28175
|
||||
|
||||
* Wed Dec 13 2023 David Benoit <dbenoit@redhat.com> - 1.20.12-2
|
||||
- Fix sources file
|
||||
- Related: RHEL-19231
|
||||
* Fri Feb 09 2024 Alejandro Sáez <asm@redhat.com> - 1.21.7-1
|
||||
- Rebase to Go 1.21.7
|
||||
- Set GOTOOLCHAIN to local
|
||||
- Resolves: RHEL-24334
|
||||
- Resolves: RHEL-18364
|
||||
- Resolves: RHEL-18365
|
||||
|
||||
* Tue Dec 12 2023 David Benoit <dbenoit@redhat.com> - 1.20.12-1
|
||||
- Update to Go 1.20.12
|
||||
- Fix CVE-2023-39326
|
||||
- Resolves: RHEL-19231
|
||||
* Thu Nov 30 2023 Alejandro Sáez <asm@redhat.com> - 1.21.4-2
|
||||
- Add release information
|
||||
|
||||
* Fri Oct 13 2023 David Benoit <dbenoit@redhat.com> - 1.20.10-1
|
||||
- Update to Go 1.20.10
|
||||
- Fix CVE-2023-39325
|
||||
- Midstream patches
|
||||
- Resolves: RHEL-12619
|
||||
* Tue Nov 14 2023 Alejandro Sáez <asm@redhat.com> - 1.21.4-1
|
||||
- Rebase to Go 1.21.4
|
||||
- Resolves: RHEL-11871
|
||||
|
||||
* Mon Aug 14 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-2
|
||||
* Wed Nov 08 2023 David Benoit <dbenoit@redhat.com> - 1.21.3-5
|
||||
- Don't change GOPROXY/GOSUMDB
|
||||
- Related: RHEL-12624
|
||||
|
||||
* Thu Nov 02 2023 David Benoit <dbenoit@redhat.com> - 1.21.3-4
|
||||
- Fix missing go.env in Go 1.21
|
||||
- Related: RHEL-12624
|
||||
|
||||
* Tue Oct 31 2023 Archana Ravindar <aravinda@redhat.com> - 1.21.3-3
|
||||
- Add missing strict fips runtime detection patch
|
||||
- Temporarily disable FIPS tests on aarch64 due to builder kernel bugs
|
||||
- Related: RHEL-12624
|
||||
|
||||
* Wed Oct 25 2023 Archana Ravindar <aravinda@redhat.com> - 1.21.3-2
|
||||
- Rebase disable_static_tests_part2.patch to Go 1.21.3
|
||||
- Related: RHEL-12624
|
||||
|
||||
* Fri Oct 20 2023 Archana Ravindar <aravinda@redhat.com> - 1.21.3-1
|
||||
- Rebase to Go 1.21.3
|
||||
- Resolves: RHEL-12624
|
||||
|
||||
* Wed Sep 27 2023 Alejandro Sáez <asm@redhat.com> - 1.20.8-1
|
||||
- Rebase to Go 1.20.8
|
||||
- Remove fix-memory-leak-evp-sign-verify.patch as it is already included in the source
|
||||
- Resolves: RHEL-2775
|
||||
|
||||
* Mon Aug 14 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-5
|
||||
- Retire golang-race package
|
||||
- Resolves: rhbz#2230599
|
||||
- Resolves: rhbz#2230705
|
||||
|
||||
* Tue Jul 25 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-1
|
||||
* Tue Jul 18 2023 Alejandro Sáez <asm@redhat.com> - 1.20.6-1
|
||||
- Rebase to Go 1.20.6
|
||||
- Resolves: rhbz#2217596
|
||||
- Change to autopatch
|
||||
- Resolves: rhbz#2222313
|
||||
|
||||
* Fri Jun 23 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-3
|
||||
- Increase the timeout in the tests
|
||||
- Related: rhbz#2204477
|
||||
|
||||
* Fri Jun 09 2023 Carl George <carl@redhat.com> - 1.20.4-2
|
||||
- Add go-toolset subpackage to ensure golang and go-toolset are published together
|
||||
- Resolves: rhbz#2117248
|
||||
|
||||
* Mon May 29 2023 Alejandro Sáez <asm@redhat.com> - 1.20.4-1
|
||||
- Rebase to Go 1.20.4
|
||||
- Resolves: rhbz#2204474
|
||||
- Resolves: rhbz#2204477
|
||||
|
||||
* Tue Apr 11 2023 David Benoit <dbenoit@redhat.com> - 1.20.3-1
|
||||
- Rebase to Go 1.20.3
|
||||
- Remove race archives
|
||||
- Update static tests patches
|
||||
- Resolves: rhbz#2185260
|
||||
- Update static test patches
|
||||
- Resolves: rhbz#2185259
|
||||
|
||||
* Tue Jan 3 2023 David Benoit <dbenoit@redhat.com> - 1.19.4-2
|
||||
- Fix memory leaks in EVP_{sign,verify}_raw
|
||||
- Resolves: rhbz#2132767
|
||||
* Wed Mar 01 2023 David Benoit <dbenoit@redhat.com> - 1.19.6-1
|
||||
- Rebase to Go 1.19.6
|
||||
- Resolves: rhbz#2174429
|
||||
- Fix memory leak
|
||||
- Resolves: rhbz#2157602
|
||||
- Enable tests in check phase
|
||||
|
||||
* Wed Dec 21 2022 David Benoit <dbenoit@redhat.com> - 1.19.4-1
|
||||
- Rebase to Go 1.19.4
|
||||
|
@ -581,150 +622,130 @@ cd ..
|
|||
- Remove defunct patches
|
||||
- Remove downstream generated FIPS mode patches
|
||||
- Add golang-fips/go as the source for FIPS mode patches
|
||||
- Resolves: rhbz#2144542
|
||||
- Resolves: rhbz#2144539
|
||||
|
||||
* Mon Oct 17 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-4
|
||||
- Enable big endian support in FIPS mode
|
||||
- Resolves: rhbz#1969844
|
||||
* Wed Nov 30 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-2
|
||||
- Fix endian issue in FIPS mode
|
||||
- Resolves: rhbz#1966992
|
||||
|
||||
* Mon Oct 17 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-3
|
||||
- Restore old HashSign/HashVerify API
|
||||
- Resolves: rhbz#2132730
|
||||
|
||||
* Mon Oct 17 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-2
|
||||
- Add support for 4096 bit keys in x509
|
||||
- Resolves: rhbz#2132694
|
||||
|
||||
* Thu Oct 13 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-1
|
||||
- Rebase to Go 1.19.2
|
||||
- Resolves: rhbz#2132730
|
||||
* Fri Oct 21 2022 David Benoit <dbenoit@redhat.com> - 1.19.2-1
|
||||
- Update go to version 1.19.2
|
||||
- Resolves: rhbz#2134407
|
||||
|
||||
* Wed Sep 14 2022 David Benoit <dbenoit@redhat.com> - 1.19.1-2
|
||||
- Rebase to Go 1.19.1
|
||||
- Resolves: rhbz#2131026
|
||||
- Temporarily disable crypto tests
|
||||
- Resolves: rhbz#2131028
|
||||
|
||||
* Wed Aug 03 2022 Alejandro Sáez <asm@redhat.com> - 1.18.4-2
|
||||
- Adds patch for PIE mode issues on PPC64LE
|
||||
- Resolves: rhbz#2111593
|
||||
* Wed Aug 10 2022 Alejandro Sáez <asm@redhat.com> - 1.18.4-2
|
||||
- Update to Go 1.18.4
|
||||
- Resolves: rhbz#2109180
|
||||
- Deprecates keys smaller than 2048 bits in TestDecryptOAEP in boring mode
|
||||
|
||||
* Wed Jul 20 2022 David Benoit <dbenoit@redhat.com> - 1.18.4-1
|
||||
- Update Go to version 1.18.4
|
||||
- Resolves: rhbz#2109179
|
||||
* Fri Aug 05 2022 Alejandro Sáez <asm@redhat.com> - 1.18.4-1
|
||||
- Update to Go 1.18.4
|
||||
- Resolves: rhbz#2109180
|
||||
|
||||
* Wed Jul 20 2022 David Benoit <dbenoit@redhat.com> - 1.18.2-3
|
||||
- Clean up dist-git patches
|
||||
- Resolves: rhbz#2109175
|
||||
* Fri Jun 10 2022 David Benoit <dbenoit@redhat.com> - 1.18.2-2
|
||||
- Update deprecated openssl algorithms patch
|
||||
- Rebuild against openssl-3.0.1-33
|
||||
- Resolves: rhbz#2092136
|
||||
- Related: rhbz#2092016
|
||||
|
||||
* Thu Jul 07 2022 Alejandro Sáez <asm@redhat.com> - 1.18.2-2
|
||||
- Bump up release version
|
||||
- Related: rhbz#2075162
|
||||
* Mon May 02 2022 David Benoit <dbenoit@redhat.com> - 1.18.2-1
|
||||
- Rebase to Go 1.18.2
|
||||
- Move to github.com/golang-fips/go
|
||||
- Resolves: rhbz#2075169
|
||||
- Resolves: rhbz#2060769
|
||||
- Resolves: rhbz#2067531
|
||||
- Resolves: rhbz#2067536
|
||||
- Resolves: rhbz#2067552
|
||||
- Resolves: rhbz#2025637
|
||||
|
||||
* Thu Jun 16 2022 David Benoit <dbenoit@redhat.com> - 1.18.2-1
|
||||
- Update to Go 1.18.2
|
||||
- Related: rhbz#2075162
|
||||
|
||||
* Mon Apr 18 2022 David Benoit <dbenoit@redhat.com> - 1.18.0-2
|
||||
- Enable SHA1 in some contexts
|
||||
- Related: rhbz#2075162
|
||||
|
||||
* Wed Apr 13 2022 David Benoit <dbenoit@redhat.com> - 1.18.0-1
|
||||
- Update Go to 1.18.0
|
||||
- Resolves: rhbz#2075162
|
||||
|
||||
* Thu Feb 17 2022 David Benoit <dbenoit@redhat.com> - 1.17.7-1
|
||||
- Rebase to Go 1.17.7
|
||||
- Remove fips memory leak patch (fixed in tree)
|
||||
- Resolves: rhbz#2015930
|
||||
|
||||
* Fri Dec 10 2021 David Benoit <dbenoit@redhat.com> - 1.17.5-1
|
||||
* Mon Dec 13 2021 Alejandro Sáez <asm@redhat.com> - 1.17.5-1
|
||||
- Rebase to Go 1.17.5
|
||||
- Remove vdso_s390x_gettime patch
|
||||
- Resolves: rhbz#2031112
|
||||
- Related: rhbz#2028570
|
||||
|
||||
* Fri Dec 03 2021 David Benoit <dbenoit@redhat.com> - 1.17.4-1
|
||||
- Rebase Go to 1.17.4
|
||||
- Add remove_waitgroup_misuse_tests patch
|
||||
- Related: rhbz#2014088
|
||||
- Resolves: rhbz#2028570
|
||||
- Resolves: rhbz#2022828
|
||||
- Resolves: rhbz#2024686
|
||||
- Resolves: rhbz#2028662
|
||||
- Add remove_ed25519vectors_test.patch
|
||||
- Remove FIPS checks to avoid issues in the CI
|
||||
- Related: rhbz#2031116
|
||||
- Resolves: rhbz#2022829
|
||||
- Resolves: rhbz#2024687
|
||||
- Resolves: rhbz#2030851
|
||||
- Resolves: rhbz#2031253
|
||||
|
||||
* Wed Oct 27 2021 Alejandro Sáez <asm@redhat.com> - 1.17.2-2
|
||||
- Resolves: rhbz#2014704
|
||||
|
||||
* Tue Oct 12 2021 Alejandro Sáez <asm@redhat.com> - 1.17.2-1
|
||||
* Wed Nov 03 2021 Alejandro Sáez <asm@redhat.com> - 1.17.2-1
|
||||
- Rebase to Go 1.17.2
|
||||
- Related: rhbz#2014088
|
||||
- Remove golang-1.15-warnCN.patch
|
||||
- Remove reject-leading-zeros.patch
|
||||
- Related: rhbz#2014087
|
||||
- Remove favicon.ico and robots.txt references
|
||||
- Exclude TestEd25519Vectors test
|
||||
- Exclude TestEd25519Vectors test
|
||||
- Update patch rhbz1952381
|
||||
- Remove rhbz1904567 patch
|
||||
- Remove rhbz1939923 patch
|
||||
|
||||
* Tue Aug 17 2021 David Benoit <dbenoit@redhat.com> - 1.16.7-1
|
||||
- Rebase to Go 1.16.7
|
||||
- Resolves: rhbz#1994079
|
||||
- Add reject leading zeros patch
|
||||
- Resolves: rhbz#1993314
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.16.6-4
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* Wed Jul 21 2021 Derek Parker <deparker@redhat.com> - 1.16.6-2
|
||||
- Fix TestBoringServerCurves failure when run by itself
|
||||
- Resolves: rhbz#1976168
|
||||
* Wed Aug 4 2021 Derek Parker <deparker@redhat.com> - 1.16.6-3
|
||||
- Include ppc64le VDSO segfault backport fix
|
||||
- Resolves: rhbz#1966622
|
||||
|
||||
* Thu Jul 15 2021 David Benoit <dbenoit@redhat.com> - 1.16.6-1
|
||||
- Rebase to go-1.16.6-1-openssl-fips
|
||||
- Resolves: rhbz#1982281
|
||||
- Addresses CVE-2021-34558
|
||||
* Mon Aug 2 2021 Derek Parker <deparker@redhat.com> - 1.16.6-2
|
||||
- Bump release
|
||||
- Resolves: rhbz#1904567
|
||||
|
||||
* Tue Jul 06 2021 Alejandro Sáez <asm@redhat.com> - 1.16.5-1
|
||||
- Rebase to 1.16.5
|
||||
- Removes rhbz#1955032 patch, it's already included in this release
|
||||
- Removes rhbz#1956891 patch, it's already included in this release
|
||||
- Related: rhbz#1979677
|
||||
- Related: rhbz#1968738
|
||||
- Related: rhbz#1972420
|
||||
* Mon Aug 2 2021 Derek Parker <deparker@redhat.com> - 1.16.6-2
|
||||
- Backport fix allowing LTO to be enabled on cgo sources
|
||||
- Resolves: rhbz#1904567
|
||||
|
||||
* Thu Jun 17 2021 David Benoit <dbenoit@redhat.com> - 1.16.4-3
|
||||
- Fix zero-size allocation memory leak.
|
||||
- Related: rhbz#1951877
|
||||
* Tue Jul 20 2021 Derek Parker <deparker@redhat.com> - 1.16.6-1
|
||||
- Rebase to 1.16.6
|
||||
- Resolves: rhbz#1984124
|
||||
- Replace symbols no longer present in OpenSSL 3.0 ABI
|
||||
- Resolves: rhbz#1984110
|
||||
- Fix TestBoringServerCurves failing when ran by itself
|
||||
- Resolves: rhbz#1977914
|
||||
|
||||
* Tue Jun 08 2021 David Benoit <dbenoit@redhat.com> - 1.16.4-2
|
||||
- Resolves: rhbz#1951877
|
||||
* Tue Jun 22 2021 Mohan Boddu <mboddu@redhat.com> - 1.16.4-3
|
||||
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||
Related: rhbz#1971065
|
||||
|
||||
* Mon May 24 2021 Alejandro Sáez <asm@redhat.com> - 1.16.4-1
|
||||
- Rebase to go-1.16.4-1-openssl-fips
|
||||
* Fri May 28 2021 David Benoit <dbenoit@redhat.com> - 1.16.4-2
|
||||
- Port to OpenSSL 3.0
|
||||
- Resolves: rhbz#1952381
|
||||
|
||||
* Tue May 04 2021 Alejandro Sáez <asm@redhat.com> - 1.16.1-3
|
||||
- Resolves: rhbz#1956891
|
||||
* Fri May 14 2021 Alejandro Sáez <asm@redhat.com> - 1.16.4-1
|
||||
- Rebase to 1.16.4
|
||||
- Resolves: rhbz#1955035
|
||||
- Resolves: rhbz#1957961
|
||||
|
||||
* Thu Apr 29 2021 Alejandro Sáez <asm@redhat.com> - 1.16.1-2
|
||||
- Resolves: rhbz#1955032
|
||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.16.1-3
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
|
||||
* Wed Mar 17 2021 Alejandro Sáez <asm@redhat.com> - 1.16.1-1
|
||||
* Tue Mar 30 2021 Alejandro Sáez <asm@redhat.com> - 1.16.1-2
|
||||
- Rebase to go-1.16.1-2-openssl-fips
|
||||
- Resolves: rhbz#1922455
|
||||
|
||||
* Tue Mar 30 2021 Alejandro Sáez <asm@redhat.com> - 1.16.1-1
|
||||
- Rebase to go-1.16.1-2-openssl-fips
|
||||
- Resolves: rhbz#1938071
|
||||
- Adds a workaround for rhbz#1939923
|
||||
- Removes Patch224, it's on upstream -> rhbz#1888673
|
||||
- Removes Patch225, it's on upstream -> https://go-review.googlesource.com/c/text/+/238238
|
||||
- Removes old patches for cleaning purposes
|
||||
- Related: rhbz#1942898
|
||||
|
||||
* Fri Jan 22 2021 David Benoit <dbenoit@redhat.com> - 1.15.7-1
|
||||
- Rebase to 1.15.7
|
||||
- Resolves: rhbz#1870531
|
||||
- Resolves: rhbz#1919261
|
||||
- Resolves: rhbz#1892207
|
||||
- Resolves: rhbz#1918755
|
||||
|
||||
* Tue Nov 24 2020 David Benoit <dbenoit@redhat.com> - 1.15.5-1
|
||||
- Rebase to 1.15.5
|
||||
- Resolves: rhbz#1898652
|
||||
- Resolves: rhbz#1898660
|
||||
- Resolves: rhbz#1898649
|
||||
- Resolves: rhbz#1899184
|
||||
- Resolves: rhbz#1899185
|
||||
- Resolves: rhbz#1899186
|
||||
|
||||
* Mon Nov 16 2020 David Benoit <dbenoit@redhat.com> - 1.15.3-2
|
||||
- fix typo in patch file name
|
||||
- Related: rhbz#1881539
|
||||
|
||||
* Thu Nov 12 2020 David Benoit <dbenoit@redhat.com> - 1.15.3-1
|
||||
* Thu Nov 12 2020 David Benoit <dbenoit@redhat.com> - 1.15.3-2
|
||||
- Rebase to 1.15.3
|
||||
- fix x/text infinite loop
|
||||
- Resolves: rhbz#1881539
|
|
@ -0,0 +1,27 @@
|
|||
From d6e201910aa29262851c9274a4cd3645022d3539 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
|
||||
Date: Tue, 9 Apr 2024 10:05:46 +0200
|
||||
Subject: [PATCH] Modify environment variables defaults
|
||||
|
||||
- Set GOTOOLCHAIN to local
|
||||
- Set GOAMD64 to v2
|
||||
---
|
||||
go.env | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/go.env b/go.env
|
||||
index 6ff2b921d4..aadcda023b 100644
|
||||
--- a/go.env
|
||||
+++ b/go.env
|
||||
@@ -9,4 +9,7 @@ GOSUMDB=sum.golang.org
|
||||
|
||||
# Automatically download newer toolchains as directed by go.mod files.
|
||||
# See https://go.dev/doc/toolchain for details.
|
||||
-GOTOOLCHAIN=auto
|
||||
+GOTOOLCHAIN=local
|
||||
+
|
||||
+# The AMD64 baseline for RHEL9 is v2.
|
||||
+GOAMD64=v2
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -0,0 +1,122 @@
|
|||
diff --git a/src/cmd/go/testdata/script/trampoline_reuse_test.txt b/src/cmd/go/testdata/script/trampoline_reuse_test.txt
|
||||
new file mode 100644
|
||||
index 0000000000000..bca897c16d054
|
||||
--- /dev/null
|
||||
+++ b/src/cmd/go/testdata/script/trampoline_reuse_test.txt
|
||||
@@ -0,0 +1,100 @@
|
||||
+# Verify PPC64 does not reuse a trampoline which is too far away.
|
||||
+# This tests an edge case where the direct call relocation addend should
|
||||
+# be ignored when computing the distance from the direct call to the
|
||||
+# already placed trampoline
|
||||
+[short] skip
|
||||
+[!ppc64] [!ppc64le] skip
|
||||
+[aix] skip
|
||||
+
|
||||
+# Note, this program does not run. Presumably, 'DWORD $0' is simpler to
|
||||
+# assembly 2^26 or so times.
|
||||
+#
|
||||
+# We build something which should be laid out as such:
|
||||
+#
|
||||
+# bar.Bar
|
||||
+# main.Func1
|
||||
+# bar.Bar+400-tramp0
|
||||
+# main.BigAsm
|
||||
+# main.Func2
|
||||
+# bar.Bar+400-tramp1
|
||||
+#
|
||||
+# bar.Bar needs to be placed far enough away to generate relocations
|
||||
+# from main package calls. and main.Func1 and main.Func2 are placed
|
||||
+# a bit more than the direct call limit apart, but not more than 0x400
|
||||
+# bytes beyond it (to verify the reloc calc).
|
||||
+
|
||||
+go build
|
||||
+
|
||||
+-- go.mod --
|
||||
+
|
||||
+module foo
|
||||
+
|
||||
+go 1.19
|
||||
+
|
||||
+-- main.go --
|
||||
+
|
||||
+package main
|
||||
+
|
||||
+import "foo/bar"
|
||||
+
|
||||
+func Func1()
|
||||
+
|
||||
+func main() {
|
||||
+ Func1()
|
||||
+ bar.Bar2()
|
||||
+}
|
||||
+
|
||||
+-- foo.s --
|
||||
+
|
||||
+TEXT main·Func1(SB),0,$0-0
|
||||
+ CALL bar·Bar+0x400(SB)
|
||||
+ CALL main·BigAsm(SB)
|
||||
+// A trampoline will be placed here to bar.Bar
|
||||
+
|
||||
+// This creates a gap sufficiently large to prevent trampoline reuse
|
||||
+#define NOP64 DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0;
|
||||
+#define NOP256 NOP64 NOP64 NOP64 NOP64
|
||||
+#define NOP2S10 NOP256 NOP256 NOP256 NOP256
|
||||
+#define NOP2S12 NOP2S10 NOP2S10 NOP2S10 NOP2S10
|
||||
+#define NOP2S14 NOP2S12 NOP2S12 NOP2S12 NOP2S12
|
||||
+#define NOP2S16 NOP2S14 NOP2S14 NOP2S14 NOP2S14
|
||||
+#define NOP2S18 NOP2S16 NOP2S16 NOP2S16 NOP2S16
|
||||
+#define NOP2S20 NOP2S18 NOP2S18 NOP2S18 NOP2S18
|
||||
+#define NOP2S22 NOP2S20 NOP2S20 NOP2S20 NOP2S20
|
||||
+#define NOP2S24 NOP2S22 NOP2S22 NOP2S22 NOP2S22
|
||||
+#define BIGNOP NOP2S24 NOP2S24
|
||||
+TEXT main·BigAsm(SB),0,$0-0
|
||||
+ // Fill to the direct call limit so Func2 must generate a new trampoline.
|
||||
+ // As the implicit trampoline above is just barely unreachable.
|
||||
+ BIGNOP
|
||||
+ MOVD $main·Func2(SB), R3
|
||||
+
|
||||
+TEXT main·Func2(SB),0,$0-0
|
||||
+ CALL bar·Bar+0x400(SB)
|
||||
+// Another trampoline should be placed here.
|
||||
+
|
||||
+-- bar/bar.s --
|
||||
+
|
||||
+#define NOP64 DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0; DWORD $0;
|
||||
+#define NOP256 NOP64 NOP64 NOP64 NOP64
|
||||
+#define NOP2S10 NOP256 NOP256 NOP256 NOP256
|
||||
+#define NOP2S12 NOP2S10 NOP2S10 NOP2S10 NOP2S10
|
||||
+#define NOP2S14 NOP2S12 NOP2S12 NOP2S12 NOP2S12
|
||||
+#define NOP2S16 NOP2S14 NOP2S14 NOP2S14 NOP2S14
|
||||
+#define NOP2S18 NOP2S16 NOP2S16 NOP2S16 NOP2S16
|
||||
+#define NOP2S20 NOP2S18 NOP2S18 NOP2S18 NOP2S18
|
||||
+#define NOP2S22 NOP2S20 NOP2S20 NOP2S20 NOP2S20
|
||||
+#define NOP2S24 NOP2S22 NOP2S22 NOP2S22 NOP2S22
|
||||
+#define BIGNOP NOP2S24 NOP2S24 NOP2S10
|
||||
+// A very big not very interesting function.
|
||||
+TEXT bar·Bar(SB),0,$0-0
|
||||
+ BIGNOP
|
||||
+
|
||||
+-- bar/bar.go --
|
||||
+
|
||||
+package bar
|
||||
+
|
||||
+func Bar()
|
||||
+
|
||||
+func Bar2() {
|
||||
+}
|
||||
diff --git a/src/cmd/link/internal/ppc64/asm.go b/src/cmd/link/internal/ppc64/asm.go
|
||||
index 5d5fbe2a97735..6313879da083c 100644
|
||||
--- a/src/cmd/link/internal/ppc64/asm.go
|
||||
+++ b/src/cmd/link/internal/ppc64/asm.go
|
||||
@@ -900,8 +900,9 @@ func trampoline(ctxt *ld.Link, ldr *loader.Loader, ri int, rs, s loader.Sym) {
|
||||
if ldr.SymValue(tramp) == 0 {
|
||||
break
|
||||
}
|
||||
-
|
||||
- t = ldr.SymValue(tramp) + r.Add() - (ldr.SymValue(s) + int64(r.Off()))
|
||||
+ // Note, the trampoline is always called directly. The addend of the original relocation is accounted for in the
|
||||
+ // trampoline itself.
|
||||
+ t = ldr.SymValue(tramp) - (ldr.SymValue(s) + int64(r.Off()))
|
||||
|
||||
// With internal linking, the trampoline can be used if it is not too far.
|
||||
// With external linking, the trampoline must be in this section for it to be reused.
|
|
@ -0,0 +1,30 @@
|
|||
From 09ff18f22def1766faa746df87e57d5b68454246 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
|
||||
Date: Tue, 5 Mar 2024 10:03:13 +0100
|
||||
Subject: [PATCH] Re-enable CGO in cmd/go and cmd/pprof
|
||||
|
||||
---
|
||||
src/cmd/dist/build.go | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
|
||||
index 32e59b446a..941abdcebd 100644
|
||||
--- a/src/cmd/dist/build.go
|
||||
+++ b/src/cmd/dist/build.go
|
||||
@@ -1304,13 +1304,6 @@ func timelog(op, name string) {
|
||||
// to switch between the host and target configurations when cross-compiling.
|
||||
func toolenv() []string {
|
||||
var env []string
|
||||
- if !mustLinkExternal(goos, goarch, false) {
|
||||
- // Unless the platform requires external linking,
|
||||
- // we disable cgo to get static binaries for cmd/go and cmd/pprof,
|
||||
- // so that they work on systems without the same dynamic libraries
|
||||
- // as the original build system.
|
||||
- env = append(env, "CGO_ENABLED=0")
|
||||
- }
|
||||
if isRelease || os.Getenv("GO_BUILDER_NAME") != "" {
|
||||
// Add -trimpath for reproducible builds of releases.
|
||||
// Include builders so that -trimpath is well-tested ahead of releases.
|
||||
--
|
||||
2.43.2
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From fdcaf4e6876cfd910c3da672564be4a6e829047c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= <asm@redhat.com>
|
||||
Date: Wed, 27 Mar 2024 17:15:48 +0100
|
||||
Subject: [PATCH] Skip TestCrashDumpsAllThreads
|
||||
|
||||
---
|
||||
src/runtime/crash_unix_test.go | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/runtime/crash_unix_test.go b/src/runtime/crash_unix_test.go
|
||||
index 123a462423..a0034d6455 100644
|
||||
--- a/src/runtime/crash_unix_test.go
|
||||
+++ b/src/runtime/crash_unix_test.go
|
||||
@@ -74,6 +74,10 @@ func TestCrashDumpsAllThreads(t *testing.T) {
|
||||
t.Skip("skipping; SIGQUIT is blocked, see golang.org/issue/19196")
|
||||
}
|
||||
|
||||
+ if runtime.GOOS == "linux" && runtime.GOARCH == "s390x" {
|
||||
+ t.Skip("skipping; frequent TestCrashDumpsAllThreads failures on linux/s390x, see golang.org/issue/64650")
|
||||
+ }
|
||||
+
|
||||
testenv.MustHaveGoBuild(t)
|
||||
|
||||
if strings.Contains(os.Getenv("GOFLAGS"), "mayMoreStackPreempt") {
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
SHA512 (go1.22.2.tar.gz) = c9c6f0a745229a41ff17fdb5192a5700c5eead2dfd7c3de9273ccfda64db0ee73dceb6bfc5d7cd2df87e31bbee53b96360742a9f853c79456bb178f2da001065
|
||||
SHA512 (go1.22.2-1-openssl-fips.tar.gz) = 01a7924f86be2030207b32bbac5b0b4f5b5e8430349eb1d0a1ade8a48536e4402fdf000f8c07e7bd270df338e5f97553f6933045ad96411aa9b2dfd7f127d280
|
Loading…
Reference in New Issue