From b06044d9d7ee08091ca79679563448554264cf8b Mon Sep 17 00:00:00 2001 From: dbenoit Date: Mon, 1 Dec 2025 09:24:56 -0500 Subject: [PATCH] Update to Go 1.25.3 (sync from CentOS Stream 9) Build go-toolset as a subpackage Preserve GOAMD64=v1 for RHEL 8 Resolves: RHEL-121223 --- .fmf/version | 1 + .gitignore | 13 ++-- Makefile | 5 ++ disable_static_tests_part1.patch | 63 ---------------- disable_static_tests_part2.patch | 13 ---- gating.yaml | 4 +- golang.spec | 120 ++++++++++++++++++++++++------- plans/tier0.fmf | 12 ++++ re-enable-cgo.patch | 30 -------- revert_dwarf5.patch | 42 +++++++++++ rpminspect.yaml | 33 +++++++++ skip-test-overlong-message.patch | 15 ---- sources | 4 +- 13 files changed, 200 insertions(+), 155 deletions(-) create mode 100644 .fmf/version create mode 100644 Makefile delete mode 100644 disable_static_tests_part1.patch delete mode 100644 disable_static_tests_part2.patch create mode 100644 plans/tier0.fmf delete mode 100644 re-enable-cgo.patch create mode 100644 revert_dwarf5.patch create mode 100644 rpminspect.yaml delete mode 100644 skip-test-overlong-message.patch diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index af4d758..70b7d80 100644 --- a/.gitignore +++ b/.gitignore @@ -86,12 +86,6 @@ /go1.23.2-2-openssl-fips.tar.gz /go1.23.4.tar.gz /go1.23.4-1-openssl-fips.tar.gz -/go1.23.6.tar.gz -/go1.23.6-1-openssl-fips.tar.gz -/go1.23.9.tar.gz -/go1.23.9-1-openssl-fips.tar.gz -/go1.23.10.tar.gz -/go1.23.10-1-openssl-fips.tar.gz /go1.24.3.tar.gz /go1.24.3-1-openssl-fips.tar.gz /go1.24.3-2-openssl-fips.tar.gz @@ -101,3 +95,10 @@ /go1.24.4.tar.gz /go1.24.6.tar.gz /go1.24.6-1-openssl-fips.tar.gz +/go1.25.0.tar.gz +/go1.25.0-1-openssl-fips.tar.gz +/go1.25.1.tar.gz +/go1.25.1-1-openssl-fips.tar.gz +/go1.25.3.src.tar.gz +/go1.25.3-1-openssl-fips.tar.gz +/go1.25.3.tar.gz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4b4a967 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +mockbuild: + centpkg mockbuild + +spectool: + spectool -g golang.spec diff --git a/disable_static_tests_part1.patch b/disable_static_tests_part1.patch deleted file mode 100644 index ed09c39..0000000 --- a/disable_static_tests_part1.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/src/crypto/internal/backend/nobackend.go b/src/crypto/internal/backend/nobackend.go -index 95c2cdc..88df624 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 || purego --// +build !linux !cgo android cmd_go_bootstrap msan no_openssl purego -+//go:build !linux || !cgo || android || cmd_go_bootstrap || msan || no_openssl || purego || static -+// +build !linux !cgo android cmd_go_bootstrap msan no_openssl purego static - - package backend - -diff --git a/src/crypto/internal/backend/openssl.go b/src/crypto/internal/backend/openssl.go -index 297c3cb..1a4fa10 100644 ---- a/src/crypto/internal/backend/openssl.go -+++ b/src/crypto/internal/backend/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 && cgo && !android && !gocrypt && !cmd_go_bootstrap && !msan && !no_openssl && !purego --// +build linux,cgo,!android,!gocrypt,!cmd_go_bootstrap,!msan,!no_openssl,!purego -+//go:build linux && cgo && !android && !gocrypt && !cmd_go_bootstrap && !msan && !no_openssl && !purego && !static -+// +build linux,cgo,!android,!gocrypt,!cmd_go_bootstrap,!msan,!no_openssl,!purego,!static - - // Package openssl provides access to OpenSSLCrypto implementation functions. - // Check the variable Enabled to find out whether OpenSSLCrypto is available. -diff --git a/src/crypto/internal/boring/goboringcrypto.h b/src/crypto/internal/boring/goboringcrypto.h -index 2b11049..dec1cb2 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/v2/goopenssl.h b/src/vendor/github.com/golang-fips/openssl/v2/goopenssl.h -index e488bf2..e776aa4 100644 ---- a/src/vendor/github.com/golang-fips/openssl/v2/goopenssl.h -+++ b/src/vendor/github.com/golang-fips/openssl/v2/goopenssl.h -@@ -1,4 +1,5 @@ - // This header file describes the OpenSSL ABI as built for use in Go. -+// +build !static - - #include // size_t - diff --git a/disable_static_tests_part2.patch b/disable_static_tests_part2.patch deleted file mode 100644 index 494de22..0000000 --- a/disable_static_tests_part2.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go -index 36a20e8b2a..8c2dd1b44b 100644 ---- a/src/cmd/dist/test.go -+++ b/src/cmd/dist/test.go -@@ -1125,7 +1125,7 @@ func (t *tester) registerCgoTests(heading string) { - } else { - panic("unknown linkmode with static build: " + linkmode) - } -- gt.tags = append(gt.tags, "static") -+ gt.tags = append(gt.tags, "static", "no_openssl") - } - gt.ldflags = strings.Join(ldflags, " ") - diff --git a/gating.yaml b/gating.yaml index c190bde..7f874f2 100644 --- a/gating.yaml +++ b/gating.yaml @@ -3,4 +3,6 @@ product_versions: - rhel-9 decision_context: osci_compose_gate rules: - - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-aarch64.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-ppc64le.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1-tmt-x86_64.functional} diff --git a/golang.spec b/golang.spec index 3d5b055..8fdfa17 100644 --- a/golang.spec +++ b/golang.spec @@ -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,17 @@ %global gohostarch s390x %endif -%global go_api 1.24 -%global version 1.24.6 +%global go_api 1.25 +%global go_version 1.25.3 +%global version %{go_version} %global pkg_release 1 +# LLVM compiler-rt version for race detector +%global llvm_compiler_rt_version 18.1.8 + Name: golang Version: %{version} -Release: 1%{?dist} - +Release: 2%{?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,9 +114,10 @@ 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 +Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{llvm_compiler_rt_version}/compiler-rt-%{llvm_compiler_rt_version}.src.tar.xz # The compiler is written in Go. Needs go(1.4+) compiler for build. # Actual Go based bootstrap compiler provided by above source. @@ -131,9 +136,14 @@ BuildRequires: openssl-devel # for tests BuildRequires: pcre-devel, glibc-static, perl +# Necessary for building llvm address sanitizer for Go race detector +BuildRequires: libstdc++-devel +BuildRequires: clang + Provides: go = %{version}-%{release} Requires: %{name}-bin = %{version}-%{release} Requires: %{name}-src = %{version}-%{release} +Requires: %{name}-race = %{version}-%{release} Requires: openssl-devel Requires: diffutils @@ -142,10 +152,10 @@ Patch221: fix_TestScript_list_std.patch Patch1939923: skip_test_rhbz1939923.patch -Patch2: disable_static_tests_part1.patch -Patch3: disable_static_tests_part2.patch -Patch5: modify_go.env.patch -Patch7: skip_TestCrashDumpsAllThreads.patch +Patch4: modify_go.env.patch +Patch6: skip_TestCrashDumpsAllThreads.patch +# Related: https://sourceware.org/bugzilla/show_bug.cgi?id=33204 +Patch7: revert_dwarf5.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -153,9 +163,6 @@ 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 -Obsoletes: golang-race < 1.20.0 - # These are the only RHEL/Fedora architectures that we compile this package for ExclusiveArch: %{golang_arches} @@ -226,15 +233,23 @@ Summary: Golang shared object libraries %{summary}. %endif -%if %{race} -%package race -Summary: Golang std library with -race enabled +%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. + + +%package race +Summary: Race detetector library object files. Requires: %{name} = %{version}-%{release} %description race -%{summary} -%endif +Binary library objects for Go's race detector. %prep %setup -q -n go-go%{version} @@ -246,7 +261,7 @@ patch_dir="../go-go%{version}-%{pkg_release}-openssl-fips/patches" # Add --no-backup-if-mismatch option to avoid creating .orig temp files for p in "$patch_dir"/*.patch; do echo "Applying $p" - patch -p1 --no-backup-if-mismatch < $p + patch --no-backup-if-mismatch -p1 < $p done # Configure crypto tests @@ -258,10 +273,13 @@ popd %autopatch -p1 sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION -# Delete the boring binary blob. We use the system OpenSSL instead. -rm -rf src/crypto/internal/boring/syso cp %{SOURCE2} ./src/runtime/ +# Delete the bundled race detector objects. +find ./src/runtime/race/ -name "race_*.syso" -exec rm {} \; + +# Delete the boring binary blob. We use the system OpenSSL instead. +rm -rf src/crypto/internal/boring/syso %build set -xe @@ -270,6 +288,40 @@ uname -a cat /proc/cpuinfo cat /proc/meminfo +# Build race detector .syso's from llvm sources +# The race detector requests a -fno-exceptions build. +%global tsan_buildflags %(rpm -D 'toolchain clang' -E '%{optflags}' | sed 's/-fexceptions//') +%global tsan_optflag -O1 +mkdir ../llvm + +tar -xf %{SOURCE3} -C ../llvm +tsan_go_dir="../llvm/compiler-rt-%{llvm_compiler_rt_version}.src/lib/tsan/go" + +# The script uses uname -a and grep to set the GOARCH. This +# is unreliable and can get the wrong architecture in +# circumstances like cross-architecture emulation. We fix it +# by just reading GOARCH directly from Go. +export GOARCH=$(go env GOARCH) + +%ifarch x86_64 +pushd "${tsan_go_dir}" + CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang GOAMD64=v3 ./buildgo.sh +popd +cp "${tsan_go_dir}"/race_linux_amd64.syso ./src/runtime/race/internal/amd64v3/race_linux.syso + +pushd "${tsan_go_dir}" + CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang GOAMD64=v1 ./buildgo.sh +popd +cp "${tsan_go_dir}"/race_linux_amd64.syso ./src/runtime/race/internal/amd64v1/race_linux.syso + +%else +pushd "${tsan_go_dir}" + CFLAGS="%{tsan_buildflags} %{tsan_optflag}" CC=clang ./buildgo.sh +popd +cp "${tsan_go_dir}"/race_linux_%{gohostarch}.syso ./src/runtime/race/race_linux_%{gohostarch}.syso +%endif + + # bootstrap compiler GOROOT %if !%{golang_bootstrap} export GOROOT_BOOTSTRAP=/ @@ -373,7 +425,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 @@ -447,9 +499,6 @@ 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. @@ -504,8 +553,13 @@ cd .. # prelink blacklist %{_sysconfdir}/prelink.conf.d - %files -f go-src.list src +%ifarch x86_64 +%exclude %{goroot}/src/runtime/race/internal/amd64v1/race_linux.syso +%exclude %{goroot}/src/runtime/race/internal/amd64v3/race_linux.syso +%else +%exclude %{goroot}/src/runtime/race/race_linux_%{gohostarch}.syso +%endif %files -f go-docs.list docs @@ -522,7 +576,23 @@ cd .. %files -f go-shared.list shared %endif +%files -n go-toolset + +%files race +%ifarch x86_64 +%{goroot}/src/runtime/race/internal/amd64v1/race_linux.syso +%{goroot}/src/runtime/race/internal/amd64v3/race_linux.syso +%else +%{goroot}/src/runtime/race/race_linux_%{gohostarch}.syso +%endif + %changelog +* Wed Oct 29 2025 David Benoit - 1.25.3-1 +- Update to Go 1.25.3 (sync from CentOS Stream 9) +- Build go-toolset as a subpackage +- Preserve GOAMD64=v1 for RHEL 8 +- Resolves: RHEL-121223 + * Wed Aug 13 2025 David Benoit - 1.24.6-1 - Update to Go 1.24.6 (fips-1) - Resolves: RHEL-106455 diff --git a/plans/tier0.fmf b/plans/tier0.fmf new file mode 100644 index 0000000..4b27223 --- /dev/null +++ b/plans/tier0.fmf @@ -0,0 +1,12 @@ +summary: tier0 tests +discover: + - name: rhel + how: fmf + url: https://gitlab.cee.redhat.com/toolchain-qe/tests/golang.git + filter: "tier:0" +execute: + how: tmt + +provision: + hardware: + memory: ">= 4 GB" diff --git a/re-enable-cgo.patch b/re-enable-cgo.patch deleted file mode 100644 index 062a295..0000000 --- a/re-enable-cgo.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 09ff18f22def1766faa746df87e57d5b68454246 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= -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 - diff --git a/revert_dwarf5.patch b/revert_dwarf5.patch new file mode 100644 index 0000000..80a58bb --- /dev/null +++ b/revert_dwarf5.patch @@ -0,0 +1,42 @@ +From e90ae9076a108b83c645814f75a574c14a5a4b98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Wed, 27 Aug 2025 16:18:09 +0200 +Subject: [PATCH] Revert DWARF5 as default, use DWARF4 + +--- + src/internal/buildcfg/exp.go | 13 +------------ + 1 file changed, 1 insertion(+), 12 deletions(-) + +diff --git a/src/internal/buildcfg/exp.go b/src/internal/buildcfg/exp.go +index 689ca8ce58..b2ea97481b 100644 +--- a/src/internal/buildcfg/exp.go ++++ b/src/internal/buildcfg/exp.go +@@ -67,24 +67,13 @@ func ParseGOEXPERIMENT(goos, goarch, goexp string) (*ExperimentFlags, error) { + regabiSupported = true + } + +- // Older versions (anything before V16) of dsymutil don't handle +- // the .debug_rnglists section in DWARF5. See +- // https://github.com/golang/go/issues/26379#issuecomment-2677068742 +- // for more context. This disables all DWARF5 on mac, which is not +- // ideal (would be better to disable just for cases where we know +- // the build will use external linking). In the GOOS=aix case, the +- // XCOFF format (as far as can be determined) doesn't seem to +- // support the necessary section subtypes for DWARF-specific +- // things like .debug_addr (needed for DWARF 5). +- dwarf5Supported := (goos != "darwin" && goos != "ios" && goos != "aix") +- + baseline := goexperiment.Flags{ + RegabiWrappers: regabiSupported, + RegabiArgs: regabiSupported, + AliasTypeParams: true, + SwissMap: true, + SyncHashTrieMap: true, +- Dwarf5: dwarf5Supported, ++ Dwarf5: false, + } + + // Start with the statically enabled set of experiments. +-- +2.51.0 + diff --git a/rpminspect.yaml b/rpminspect.yaml new file mode 100644 index 0000000..a2f17af --- /dev/null +++ b/rpminspect.yaml @@ -0,0 +1,33 @@ +--- +debuginfo: + ignore: + # go binaries gained/contain debugging symbols: expected (rhbz#2175281 rhbz#2175677) + - /usr/lib/golang/bin/gofmt + - /usr/lib/golang/bin/go + - /usr/lib/golang/pkg/tool/linux_*/addr2line + - /usr/lib/golang/pkg/tool/linux_*/asm + - /usr/lib/golang/pkg/tool/linux_*/buildid + - /usr/lib/golang/pkg/tool/linux_*/cgo + - /usr/lib/golang/pkg/tool/linux_*/compile + - /usr/lib/golang/pkg/tool/linux_*/covdata + - /usr/lib/golang/pkg/tool/linux_*/cover + - /usr/lib/golang/pkg/tool/linux_*/dist + - /usr/lib/golang/pkg/tool/linux_*/distpack + - /usr/lib/golang/pkg/tool/linux_*/doc + - /usr/lib/golang/pkg/tool/linux_*/fix + - /usr/lib/golang/pkg/tool/linux_*/link + - /usr/lib/golang/pkg/tool/linux_*/nm + - /usr/lib/golang/pkg/tool/linux_*/objdump + - /usr/lib/golang/pkg/tool/linux_*/pack + - /usr/lib/golang/pkg/tool/linux_*/pprof + - /usr/lib/golang/pkg/tool/linux_*/preprofile + - /usr/lib/golang/pkg/tool/linux_*/test2json + - /usr/lib/golang/pkg/tool/linux_*/trace + - /usr/lib/golang/pkg/tool/linux_*/vet + # rpminspect: preprofile in golang package contains debugging symbols (RHEL-61237) + - /usr/lib/golang/pkg/tool/linux_*/preprofile + # go testdata + - /usr/lib/golang/src/debug/dwarf/testdata/*.elf + - /usr/lib/golang/src/debug/dwarf/testdata/*.elf5 + - /usr/lib/golang/src/debug/elf/testdata/* + - /usr/lib/golang/src/runtime/pprof/testdata/* diff --git a/skip-test-overlong-message.patch b/skip-test-overlong-message.patch deleted file mode 100644 index 1e14393..0000000 --- a/skip-test-overlong-message.patch +++ /dev/null @@ -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 { diff --git a/sources b/sources index 8d674d9..e5c7f6f 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (go1.24.6.tar.gz) = 91984c61d19cad1444004bbe23143eee4f8170c102f353b14605b4f21a726f40a18e86fe67c7694bb3c4b5b979103e52d38d06188491f60d0e51e0ee860a6590 -SHA512 (go1.24.6-1-openssl-fips.tar.gz) = a166edc8f159dee3e2771c76fc98cb66c333166645705cf4b917016cc3650952e06c67cf7021ba3e82138909b2802ac922a530be5b568a1470fdfaa9f187343c +SHA512 (go1.25.3.tar.gz) = 403b6cacf59aa6dd344c5dc76caae2a15d08b712d863c93205e16d137690825047bf37521d2265d5f5ff23be8791a6269061aa795e963a8bdd8bd839f29fb038 +SHA512 (go1.25.3-1-openssl-fips.tar.gz) = 4eb308049af031123a8d9745ced4d3d296362b8a5a65cef9542841ce880b0c1e682476f70291192d7ddf7a006bb65f5672019d2508216a448eaeca026402b45c SHA512 (compiler-rt-18.1.8.src.tar.xz) = fb8795bd51c9b005c2ad1975591e9e2715740d6407ccad41379f136ef2e8d24ded8b97b01165a3ae4bd377119a6a1049ca05d3220404fc12bee86114ff2bff0d