Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go
Submodule go updated 39 files
+2 −2 src/cmd/compile/internal/ssagen/simdWasmintrinsics.go
+5 −1 src/cmd/compile/internal/types2/typestring.go
+5 −1 src/cmd/internal/objfile/elf.go
+23 −0 src/cmd/internal/objfile/pe.go
+3 −1 src/cmd/internal/script/scripttest/setup.go
+43 −0 src/cmd/link/internal/ld/ld_test.go
+1 −1 src/cmd/link/internal/ld/pe.go
+2 −0 src/cmd/nm/nm_test.go
+35 −0 src/cmd/nm/script_test.go
+286 −0 src/cmd/nm/testdata/script/README
+20 −0 src/cmd/nm/testdata/script/issue77301.txt
+5 −1 src/go/types/typestring.go
+3 −0 src/math/rand/v2/rand.go
+7 −0 src/os/dir_darwin.go
+15 −0 src/os/read_test.go
+5 −1 src/os/statat_unix.go
+5 −2 src/runtime/lockrank_off.go
+8 −4 src/runtime/lockrank_on.go
+157 −107 src/runtime/malloc_generated.go
+58 −33 src/runtime/malloc_stubs.go
+4 −0 src/runtime/mem_sbrk.go
+57 −105 src/simd/archsimd/_gen/tmplgen/main.go
+2 −2 src/simd/archsimd/_gen/wasmgen/main.go
+0 −24 src/simd/archsimd/internal/simd_test/arm64_bitwise_test.go
+0 −39 src/simd/archsimd/internal/simd_test/arm64_convert_test.go
+0 −130 src/simd/archsimd/internal/simd_test/arm64_simd_test.go
+0 −1,414 src/simd/archsimd/internal/simd_test/arm64_unary_helpers_test.go
+12 −0 src/simd/archsimd/internal/simd_test/binary_arm64_test.go
+39 −0 src/simd/archsimd/internal/simd_test/convert_arm64_test.go
+1,942 −0 src/simd/archsimd/internal/simd_test/convert_helpers_128_test.go
+2,602 −3,210 src/simd/archsimd/internal/simd_test/convert_helpers_wider_test.go
+0 −0 src/simd/archsimd/internal/simd_test/reduce_helpers_arm64_test.go
+0 −0 src/simd/archsimd/internal/simd_test/shift_arm64_test.go
+0 −0 src/simd/archsimd/internal/simd_test/shift_helpers_arm64_test.go
+1,352 −0 src/simd/archsimd/internal/simd_test/simd_amd64_test.go
+39 −0 src/simd/archsimd/internal/simd_test/simd_arm64_test.go
+155 −1,439 src/simd/archsimd/internal/simd_test/simd_test.go
+1 −137 src/simd/archsimd/internal/simd_test/ternary_helpers_128_test.go
+31 −174 src/simd/archsimd/internal/simd_test/ternary_helpers_wider_test.go
26 changes: 20 additions & 6 deletions patches/0002-Add-crypto-backends.patch
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Subject: [PATCH] Add crypto backends
src/cmd/link/internal/ld/lib.go | 6 +
src/cmd/link/link_test.go | 8 +
src/cmd/link/testdata/script/README | 2 +
src/cmd/nm/testdata/script/README | 2 +
src/crypto/aes/aes.go | 6 +-
src/crypto/aes/aes_test.go | 2 +-
src/crypto/boring/boring.go | 4 +-
Expand Down Expand Up @@ -137,7 +138,7 @@ Subject: [PATCH] Add crypto backends
src/os/exec/exec_test.go | 9 +
src/runtime/runtime_boring.go | 5 +
src/syscall/syscall_windows.go | 3 +
133 files changed, 2509 insertions(+), 378 deletions(-)
134 files changed, 2511 insertions(+), 378 deletions(-)
create mode 100644 src/cmd/go/systemcrypto_test.go
create mode 100644 src/crypto/dsa/boring.go
create mode 100644 src/crypto/dsa/notboring.go
Expand Down Expand Up @@ -433,10 +434,10 @@ index 43ac003c7907c7..4daeb1a5ced0eb 100644
+ return enabled
+}
diff --git a/src/cmd/go/alldocs.go b/src/cmd/go/alldocs.go
index 74cafe9613917d..31ce076273aba2 100644
index 44cec1ae79e710..a03f2324ba36bc 100644
--- a/src/cmd/go/alldocs.go
+++ b/src/cmd/go/alldocs.go
@@ -2616,6 +2616,9 @@
@@ -2620,6 +2620,9 @@
// mentioned will be considered insecure by 'go get'.
// Because the variable is defined by Git, the default value cannot
// be set using 'go env -w'.
Expand Down Expand Up @@ -589,7 +590,7 @@ index 3d72c368b088a2..4fe28740a6e3c2 100644
env[i].Changed = true
}
diff --git a/src/cmd/go/internal/help/helpdoc.go b/src/cmd/go/internal/help/helpdoc.go
index 4f76f7f9c1fc68..783d11609c0bf4 100644
index b305457a23d104..5154aa0be0007c 100644
--- a/src/cmd/go/internal/help/helpdoc.go
+++ b/src/cmd/go/internal/help/helpdoc.go
@@ -755,6 +755,9 @@ Special-purpose environment variables:
Expand Down Expand Up @@ -1302,6 +1303,19 @@ index 9ec997a138f0f2..09c4e7955ec162 100644
[verbose]
testing.Verbose()

diff --git a/src/cmd/nm/testdata/script/README b/src/cmd/nm/testdata/script/README
index 9ec997a138f0f2..09c4e7955ec162 100644
--- a/src/cmd/nm/testdata/script/README
+++ b/src/cmd/nm/testdata/script/README
@@ -281,6 +281,8 @@ The available conditions are:
testing.Short()
[symlink]
testenv.HasSymlink()
+[systemcrypto]
+ system crypto is enabled
[verbose]
testing.Verbose()

diff --git a/src/crypto/aes/aes.go b/src/crypto/aes/aes.go
index 22ea8819ed239a..d918b8d57c5801 100644
--- a/src/crypto/aes/aes.go
Expand Down Expand Up @@ -5881,7 +5895,7 @@ index f55150697d96f6..b4a89941749d99 100644

type clientHandshakeStateTLS13 struct {
diff --git a/src/crypto/tls/handshake_server.go b/src/crypto/tls/handshake_server.go
index a4544a13051f51..f889d38b5e922c 100644
index b62feef1a0d2a3..a51f06da2a4928 100644
--- a/src/crypto/tls/handshake_server.go
+++ b/src/crypto/tls/handshake_server.go
@@ -64,7 +64,20 @@ func (c *Conn) serverHandshake(ctx context.Context) error {
Expand Down Expand Up @@ -6128,7 +6142,7 @@ index 00000000000000..ffb835ce34a2f7
+ }
+}
diff --git a/src/go/build/deps_test.go b/src/go/build/deps_test.go
index a71759adcb7363..ab31931e34b495 100644
index 67627cdb93ff22..3a7fc5413e2696 100644
--- a/src/go/build/deps_test.go
+++ b/src/go/build/deps_test.go
@@ -372,8 +372,10 @@ var depsRules = `
Expand Down
46 changes: 46 additions & 0 deletions patches/0012-Fix-PE-BSS-symbol-classification.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: qmuntal <quimmuntal@gmail.com>
Date: Mon, 29 Jun 2026 16:43:27 +0200
Subject: [PATCH] cmd/internal/objfile: fix PE BSS symbol classification

The PE symbol reader uses runtime.bss to distinguish initialized data from BSS
when Windows internal linking places BSS at the end of a writable data section.

For externally linked PE files, symbol values are section-relative, so comparing
a symbol in one section against runtime.bss from another section can misclassify
initialized data such as runtime.noptrdata as BSS.

Remember the section containing runtime.bss and only apply the BSS-boundary
heuristic to symbols from that same section.
---
src/cmd/internal/objfile/pe.go | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/cmd/internal/objfile/pe.go b/src/cmd/internal/objfile/pe.go
index ca8add70ba..7bbfaa54d1 100644
--- a/src/cmd/internal/objfile/pe.go
+++ b/src/cmd/internal/objfile/pe.go
@@ -44,9 +44,11 @@ func (f *peFile) symbols() ([]Sym, error) {
// That is, there can be BSS symbols at the end of the page
// that holds the last data symbols.
var bssAddr uint32
+ var bssSectionNumber int16
for _, s := range f.pe.Symbols {
if s.Name == "runtime.bss" {
bssAddr = s.Value
+ bssSectionNumber = s.SectionNumber
break
}
}
@@ -84,7 +86,7 @@ func (f *peFile) symbols() ([]Sym, error) {
case ch&data != 0:
if ch&permW == 0 {
sym.Code = 'R'
- } else if bssAddr > 0 && s.Value >= bssAddr {
+ } else if bssSectionNumber == s.SectionNumber && bssAddr > 0 && s.Value >= bssAddr {
// Past runtime.bss is BSS.
sym.Code = 'B'
} else if s.Value >= sect.Size {
--
2.54.0.windows.1

Loading