diff --git a/disable_static_tests_part1.patch b/disable_static_tests_part1.patch deleted file mode 100644 index ed09c393065e24d4f279808c8f0b390fc7bb3de6..0000000000000000000000000000000000000000 --- 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 494de221c702153c51c029b4e6f355f1f3ed9d7a..0000000000000000000000000000000000000000 --- 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/download b/download index c5498cef005be9c37975a0349e045c6f5b662a4e..135984b60b31f57eb8d2bdecc3ac9ba188b4f12b 100644 --- a/download +++ b/download @@ -1,2 +1,3 @@ -dd59aabbd1bb61bff33a2240c3218a93 go1.24.6-1-openssl-fips.tar.gz -0c22bd8169e8c49f7f94d7e0fedd1034 go1.24.6.tar.gz +63bdea64f3af91ff38b3ee1b6f416d0b compiler-rt-18.1.8.src.tar.xz +94478ac15721619ef845f444d95b1cd6 go1.25.3-1-openssl-fips.tar.gz +bc5e8addeacf58cb4a66dd2fd7b69ced go1.25.3.tar.gz diff --git a/golang.spec b/golang.spec index a2fdb6b42105889f9e98ec2bd8e93871b748c7ef..6ed03de1e0a895bdb426bcb01f110da71f8c9be0 100644 --- a/golang.spec +++ b/golang.spec @@ -30,20 +30,20 @@ # Define GOROOT macros %global goroot %{_prefix}/lib/%{name} %global gopath %{_datadir}/gocode -%global golang_arches x86_64 aarch64 ppc64le s390x loongarch64 +%global golang_arches x86_64 aarch64 ppc64le s390x %global golibdir %{_libdir}/%{name} # Golang build options. # Build golang using external/internal(close to cgo disabled) linking. -%ifarch x86_64 ppc64le %{arm} aarch64 s390x loongarch64 +%ifarch x86_64 ppc64le %{arm} aarch64 s390x %global external_linker 1 %else %global external_linker 0 %endif # Build golang with cgo enabled/disabled(later equals more or less to internal linking). -%ifarch x86_64 ppc64le %{arm} aarch64 s390x loongarch64 +%ifarch x86_64 ppc64le %{arm} aarch64 s390x %global cgo_enabled 1 %else %global cgo_enabled 0 @@ -70,6 +70,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 @@ -92,17 +93,17 @@ %global gohostarch s390x %endif -%ifarch loongarch64 -%global gohostarch loong64 -%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%{anolis_release}%{?dist} +Release: 2%{anolis_release}%{?dist} Summary: The Go Programming Language # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain @@ -115,13 +116,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: loongarch64.tar.gz -Source4: loongarch64.patches -Source5: race_linux_loong64.syso +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. @@ -140,9 +138,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 @@ -151,10 +154,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 @@ -162,9 +165,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} @@ -235,15 +235,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} @@ -255,7 +263,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 @@ -264,23 +272,16 @@ ln -s ../go-go%{version} go ./scripts/configure-crypto-tests.sh popd -## Apply loongarch64 patches -tar -xvf %{SOURCE3} -for p in $(cat %{SOURCE4}); do - patch -p1 -s -i loongarch64/$p -done - -## Delete loongarch64 directory -rm -rf loongarch64 - %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/ -cp %{SOURCE5} ./src/runtime/race +# 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 @@ -289,6 +290,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=/ @@ -392,7 +427,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 @@ -466,11 +501,8 @@ 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 # Disable by Anolis OS export DISABLE_BoringCertAlgs_TEST="-run=!^TestBoringCertAlgs$" - ./run.bash --no-rebuild -v -v -v -k $GO_TEST_RUN $DISABLE_BoringCertAlgs_TEST # Run tests with FIPS enabled. @@ -525,8 +557,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 @@ -543,10 +580,25 @@ 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 -* Tue Aug 19 2025 Chang Gao - 1.24.6-1.0.1 +* Mon Dec 08 2025 Chang Gao - 1.25.3-1.0.1 - disable DISABLE_BoringCertAlgs_TEST test -- Add LoongArch64 support + +* 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) diff --git a/loongarch64.patches b/loongarch64.patches deleted file mode 100644 index 0cc0a1dee3b31ea72b7a3a908f42910b03393d90..0000000000000000000000000000000000000000 --- a/loongarch64.patches +++ /dev/null @@ -1,97 +0,0 @@ -0001-ABI1.0-fix-runtime-defs_linux_loong64.patch -0002-ABI1.0-cmd-internal-obj-loong64-cmd-link-internal-sw.patch -0003-ABI1.0-fix-misc-cgo-test-sigaltstack-size-on-loong64.patch -0004-ABI1.0-fix-mabi-to-lp64-for-loong64.patch -0005-ABI1.0-fix-test-issue11656-for-loong64.patch -0006-ABI1.0-fixup-stack-growth-after-fork-in-runtime.sigf.patch -0007-ABI1.0-runtime-fix-the-vDSO-symbol-version-for-kerne.patch -0008-ABI1.0-fix-the-definition-of-members-in-the-PtraceRe.patch -0009-ABI1.0-cmd-link-correct-the-dynamic-linker-path-of-l.patch -0010-ABI1.0-fix-the-definition-of-members-in-the-sigconte.patch -0011-ABI1.0-cmd-internal-objabi-fix-internal-linker-missi.patch -0012-cmd-link-internal-add-support-for-internal-linking-o.patch -0013-internal-platform-cmd-dist-enable-internal-linking-s.patch -0014-cmd-link-internal-loong64-process-new-relocations-on.patch -0015-cmd-link-internal-loong64-fix-internal-liner-impleme.patch -0016-ABI1.0-cmd-cgo-internal-testsanitizers-skip-tsan8-on.patch -0017-cmd-runtime-enable-race-detector-on-loong64.patch -0018-runtime-delete-on-register-ABI-fallback-path-for-rac.patch -0019-cmd-internal-obj-loong64-remove-unused-register-alia.patch -0020-internal-bytealg-optimize-IndexByte-and-IndexByteStr.patch -0021-internal-bytealg-optimize-memequal-and-memequal_varl.patch -0022-internal-bytealg-optimize-Index-and-IndexString-func.patch -0023-cmd-internal-obj-loong64-optimize-immediate-loading.patch -0024-math-big-optimize-addVV-function-for-loong64.patch -0025-math-big-optimize-addVW-function-for-loong64.patch -0026-math-big-optimize-subVV-function-for-loong64.patch -0027-math-big-optimize-subVW-function-for-loong64.patch -0028-math-big-optimize-shlVU-function-for-loong64.patch -0029-math-big-optimize-shrVU-function-for-loong64.patch -0030-math-big-optimize-mulAddVWW-function-for-loong64.patch -0031-math-big-optimize-addMulVVW-function-for-loong64.patch -0032-cmd-compile-fold-constant-shift-with-extension-on-lo.patch -0033-test-codegen-fix-the-matching-instructions-inside-pl.patch -0034-cmd-compile-optimize-shifts-of-int32-and-uint32-on-l.patch -0035-cmd-compile-simplify-bounded-shift-on-loong64.patch -0036-runtime-use-ABIInternal-on-syscall-and-other-sys.stu.patch -0037-runtime-use-correct-memory-barrier-in-exitThread-fun.patch -0038-cmd-internal-obj-loong64-add-V-XV-SEQI-V-XV-.-AND-OR.patch -0039-cmd-internal-obj-loong64-add-V-XV-ADD-SUB-.-B-H-W-D-.patch -0040-cmd-internal-obj-loong64-add-V-XV-ILV-L-H-.-B-H-W-D-.patch -0041-cmd-internal-obj-loong64-add-V-XV-SLL-SRL-SRA-ROTR-I.patch -0042-cmd-internal-obj-loong64-add-V-XV-FSQRT-FRECIP-FRSQR.patch -0043-cmd-internal-obj-loong64-add-V-XV-NEG-B-H-W-V-instru.patch -0044-cmd-internal-obj-loong64-add-V-XV-MUL-B-H-W-V-and-V-.patch -0045-cmd-internal-obj-loong64-add-V-XV-DIV-B-H-W-V-U-and-.patch -0046-cmd-internal-obj-loong64-add-V-XV-BITCLR-BITSET-BITR.patch -0047-crypto-chacha20-add-loong64-SIMD-implementation.patch -0048-internal-bytealg-optimize-Count-and-CountString-func.patch -0049-internal-bytealg-optimize-Count-String-in-loong64.patch -0050-cmd-internal-obj-cmd-asm-reclassify-32-bit-immediate.patch -0051-crypto-internal-poly1305-implement-function-update-i.patch -0052-runtime-optimize-the-implementation-of-memclrNoHeapP.patch -0053-runtime-race-add-the-implementation-of-atomic.-Or-An.patch -0054-cmd-internal-obj-loong64-add-F-MAXA-MINA-.-S-D-instr.patch -0055-math-implement-func-archExp-and-archExp2-in-assembly.patch -0056-math-implement-func-archLog-in-assembly-on-loong64.patch -0057-cmd-go-internal-work-allow-a-bunch-of-loong64-specif.patch -0058-runtime-cgo-use-standard-ABI-call-setg_gcc-in-crossc.patch -0059-cmd-internal-obj-add-new-32-bits-immediate-classes-o.patch -0060-crypto-internal-fips140-edwards25519-implement-func-.patch -0061-cmd-intarnal-obj-loong64-Add-optab-entry-to-omit-the.patch -0062-cmd-intarnal-obj-loong64-Add-optab-entry-to-omit-the.patch -0063-cmd-internal-obj-loong64-add-V-XV-ADD-SUB-.-B-H-W-D-.patch -0064-internal-bytealg-optimize-Count-String-in-loong64.patch -0065-cmd-link-remove-trampoline-for-plt-symbol.patch -0066-runtime-runtime-cgo-use-libc-for-sigaction-syscalls-.patch -0067-runtime-add-function-runtime.cgoSigtramp-support-on-.patch -0068-internal-cpu-use-correct-variable-when-parsing-CPU-f.patch -0069-cmd-internal-obj-loong64-add-X-VMULW-EV-OD-.-H.B-W.H.patch -0070-cmd-internal-obj-loong64-add-X-VSHUF4I.-B-H-W-D-inst.patch -0071-runtime-log-profile-when-mutex-profile-test-fails.patch -0072-runtime-optimizing-memclrNoHeapPointers-implementati.patch -0073-runtime-delete-redundant-branch-jumps-in-memclrNoHea.patch -0074-cmd-compile-set-unalignedOK-to-make-memcombine-work-.patch -0075-runtime-optimize-the-function-memmove-using-SIMD-on-.patch -0076-internal-chacha8rand-implement-func-block-in-assembl.patch -0077-cmd-internal-obj-loong64-cmd-asm-add-V-XV-SET-EQ-NE-.patch -0078-runtime-optimize-the-function-memequal-using-SIMD-on.patch -0079-cmd-internal-obj-add-new-assembly-format-for-BFPT-an.patch -0080-runtime-internal-fuzz-add-comparison-tracing-for-lib.patch -0081-crypto-sha256-improve-performance-of-loong64.patch -0082-crypto-sha512-improve-performance-of-loong64.patch -0083-cmd-internal-obj-loong64-add-X-VFRINT-RNE-RZ-RP-RM-..patch -0084-cmd-internal-obj-loong64-add-X-VF-ADD-SUB-MUL-DIV-.-.patch -0085-runtime-optimize-the-function-indexbyte-using-SIMD-o.patch -0086-internal-bytealg-optimize-the-function-compare-using.patch -0087-cmd-internal-obj-loong64-add-X-VFCLASS.-S-D-instruct.patch -0088-cmd-intarnal-obj-add-new-assembly-format-for-VANDB-o.patch -0089-cmd-compile-fold-negation-into-addition-subtraction-.patch -0090-cmd-internal-obj-loong64-Add-preld-x-instructions-su.patch -0091-cmd-compile-add-prefetch-intrinsic-support-on-loong6.patch -0092-cmd-compile-fix-the-implementation-of-NORconst-on-lo.patch -0093-crypto-subtle-optimize-function-xorBytes-using-SIMD-.patch -0094-cmd-compile-add-rules-about-ORN-and-ANDN.patch -0095-runtime-check-for-gsignal-in-racecall-on-loong64.patch -0096-crypto-sha256-use-const-table-for-key-loading-on-loo.patch -0097-crypto-sha512-use-const-table-for-key-loading-on-loo.patch diff --git a/loongarch64.tar.gz b/loongarch64.tar.gz deleted file mode 100644 index e69c041d3349753ce7cb55cd3cefeb0017f53971..0000000000000000000000000000000000000000 Binary files a/loongarch64.tar.gz and /dev/null differ diff --git a/race_linux_loong64.syso b/race_linux_loong64.syso deleted file mode 100644 index 0b51b02dbfc4bc98a4688e864eb5c23500104c68..0000000000000000000000000000000000000000 Binary files a/race_linux_loong64.syso and /dev/null differ diff --git a/revert_dwarf5.patch b/revert_dwarf5.patch new file mode 100644 index 0000000000000000000000000000000000000000..80a58bbdd04fe00297be2a75cf48f03c9e2e0171 --- /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 +