aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
5 dayssyscall: typo tv[0] shoulde be tv[1]Weixie Cui
Change-Id: I1d7aa7d9888e87d3a81e786883ada16adb67cd05 GitHub-Last-Rev: 9bb78e1820a1bcfefe99b9fa08012504c3c9b57e GitHub-Pull-Request: golang/go#78603 Reviewed-on: https://go-review.googlesource.com/c/go/+/764480 Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
6 dayscmd/go: use fsys.ReadDir for IsStandardPackageMichael Matloob
FIPS140 crypto files will be bound into the virtual filesystem using the fsys package. So IsStandardPackage needs to use fsys.ReadDir to check that the fips140 packages are standard packages rather than os.ReadDir because os.ReadDir doesn't know about the overlay. It would be nice if we could pass in a io/fs.FS to IsStandardPackage but the FS paths are slash paths and don't play well with windows paths. So we pass in ReadDir instead. Maybe in the future we could create an alternative interface to pass the filesystem through but that's a bigger project. Fixes #73649 Change-Id: I576f03cfc52a63cec0598e058e1354676a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/762581 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Michael Matloob <matloob@google.com> Auto-Submit: Michael Matloob <matloob@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
6 dayscmd/go: build pkgsite doc command in same go command invocationMichael Matloob
Instead of running go run. This is enabled by Ian Alexander's work to remove global state in the loader package. This also fixes an issue where we can't build and run the pkgsite binary because, with our GOPROXY setting, if pkgsite module is available in the module cache at the requested version, but the pkgsite/cmd/internal/doc module isn't we'll give up trying to fetch the doc module. Now that the build and execution are separated, we can make sure the GOPROXY setting is only supplied to the running pkgsite binary, but not to the operations that build it. Fixes #78457 Change-Id: Id2a754fee12b68240243773f81e7d00b6a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/763760 Reviewed-by: Michael Matloob <matloob@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Michael Matloob <matloob@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
6 dayscrypto/internal/fips140/edwards25519/field: fix Invert commentFilippo Valsorda
Pointed out by Alexander Yastrebov in FiloSottile/edwards25519#48. Change-Id: I8ff0b761ff49ad454159f749e3e07ed86a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/745900 Reviewed-by: Daniel McCarney <daniel@binaryparadox.net> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
6 dayscrypto/internal/fips140/edwards25519: fix zero coeff. skip optimizationFilippo Valsorda
This was reported first by Adrian Grigore in private and then by github.com/shaharcohen1 in FiloSottile/edwards25519#53. fips140: off goos: linux goarch: amd64 pkg: crypto/internal/fips140/edwards25519 cpu: AMD EPYC 7443P 24-Core Processor │ 6837583eec │ 6837583eec-dirty │ │ sec/op │ sec/op vs base │ VarTimeDoubleScalarBaseMult-48 43.51µ ± 1% 42.92µ ± 0% -1.34% (p=0.000 n=100) Change-Id: I14523fc62732ae9233b8c198a3a626a36a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/745860 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Daniel McCarney <daniel@binaryparadox.net> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Filippo Valsorda <filippo@golang.org> Reviewed-by: Junyang Shao <shaojunyang@google.com>
6 daysnet: remove always-nil newFD error return valueTobias Klauser
newFD never returns an error on any of the platforms that define it. Drop the always-nil error to simplify callers. Change-Id: I727e95a0dac51ef70497ea1295276a8a6dce7f08 Reviewed-on: https://go-review.googlesource.com/c/go/+/764620 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: David Chase <drchase@google.com>
6 dayscmd/go/internal/modload: fix logged filename for 'go mod init -modfile'Olivier Mengué
Fix 'go mod init -modfile=tools.mod module' which prints 'creating new go.mod' instead of 'creating new tools.mod'. Note that -modfile already works, but isn't yet documented and this is the subject of proposal #78503, so this patch is the minimal patch to make the feature work better with the existing testsuite, but more test cases will have to be added once the proposal is approved. Change-Id: Ia4a7c9b6fb71b4365cbe5f3b70a7af6011b9e089 Reviewed-on: https://go-review.googlesource.com/c/go/+/761781 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com>
6 dayscmd/go: respect -short flag when documenting individual symbolsacehinnnqru
The -short flag was ignored when documenting individual symbols (functions, types, or variables) with "go doc -short package.symbol". This change adds short flag checks to symbolDoc, typeDoc, and valueDoc functions. Fixes #77192 Change-Id: I66935ceb5ffb5836dbd3a2fd2c7a33dd31e82001 Reviewed-on: https://go-review.googlesource.com/c/go/+/764101 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Michael Matloob <matloob@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Matloob <matloob@golang.org>
6 dayscmd/link: fallback to older minimum Windows target version on older C GNU ↵qmuntal
toolchains Setting Windows 10 as the minimum target version requires setting the IMAGE_GUARD_SECURITY_COOKIE_UNUSED flag in the PE load config directory, else the executable will fail to run. When using an external linker that flag is set by defining a _load_config_used symbol with the proper value. However, older versions of the GNU toolchain do not associate the _load_config_used symbol with the PE load config directory. To work around this issue, we can fallback to the previous minimum Windows target version if the external linker doesn't special-case the _load_config_used symbol. Change-Id: I36ac7a2968c3576ac788bf192e7614bbae35ad1f Reviewed-on: https://go-review.googlesource.com/c/go/+/763960 Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
6 dayscmd/compile: remove initContext typeCuong Manh Le
All literals are initialized in init function context, thus it's safe to remove the type and simplify all its usage. Change-Id: If128e915cf63199ab0b23b240e0f31508be8f377 Reviewed-on: https://go-review.googlesource.com/c/go/+/764021 Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org>
6 dayscmd/compile: run CondSelect into math rules on all archesJorropo
Fixes #78558 I've also added tests to make sure PPC still generate ISEL when the constant isn't 1. This is to make sure we aren't generating a sequence that wouldn't work right now. But it does not mean we couldn't try to optimize other constants on PPC64 if a fast sequence exists; for example like arm64's inline register shifts. Change-Id: Ic241d593149b7a11533948f5d4c52db357cc134f Reviewed-on: https://go-review.googlesource.com/c/go/+/763340 Reviewed-by: Keith Randall <khr@google.com> Auto-Submit: Jorropo <jorropo.pgm@gmail.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jayanth Krishnamurthy <jayanth.krishnamurthy@ibm.com> Reviewed-by: Paul Murphy <paumurph@redhat.com>
6 dayscmd/compile: improve stp merging for non-sequent casesMelnikov Denis
Original algorithm merges stores with the first mergeable store in the chain, but it misses some cases. Additionally, creating list of STs, which store data to adjacent memory cells allows merging them according to the direction of increase of their addresses. I have already tried another algorithm in CL 698097, but it was reverted. This algorithm works differently and fixes bug, generated by variant from another CL. Fixes #71987, #75365 There are the results of sweet benchmarks │ base.stat │ opt.stat │ │ sec/op │ sec/op vs base │ ESBuildThreeJS-4 1.088 ± 2% 1.086 ± 1% ~ (p=1.000 n=10) ESBuildRomeTS-4 263.0m ± 2% 260.8m ± 1% ~ (p=0.105 n=10) EtcdPut-4 73.08m ± 1% 73.16m ± 1% ~ (p=0.971 n=10) EtcdSTM-4 414.9m ± 1% 415.4m ± 1% ~ (p=0.393 n=10) GoBuildKubelet-4 203.3 ± 0% 203.5 ± 0% ~ (p=0.393 n=10) GoBuildKubeletLink-4 19.06 ± 1% 19.05 ± 0% ~ (p=0.280 n=10) GoBuildIstioctl-4 156.6 ± 0% 156.6 ± 0% ~ (p=0.796 n=10) GoBuildIstioctlLink-4 14.16 ± 1% 14.18 ± 1% ~ (p=0.853 n=10) GoBuildFrontend-4 56.45 ± 1% 56.57 ± 0% ~ (p=0.579 n=10) GoBuildFrontendLink-4 3.635 ± 1% 3.646 ± 0% ~ (p=0.436 n=10) GoBuildTsgo-4 103.0 ± 1% 103.4 ± 1% ~ (p=0.529 n=10) GoBuildTsgoLink-4 1.865 ± 1% 1.860 ± 1% ~ (p=0.684 n=10) GopherLuaKNucleotide-4 33.55 ± 0% 33.58 ± 0% ~ (p=0.075 n=10) MarkdownRenderXHTML-4 281.0m ± 0% 280.3m ± 0% -0.23% (p=0.019 n=10) Tile38QueryLoad-4 970.0µ ± 1% 969.3µ ± 0% ~ (p=0.436 n=10) geomean 3.128 3.128 -0.01% Change-Id: Ia548b43601b1bdb1c1723d300a4b8b907ab0c040 Reviewed-on: https://go-review.googlesource.com/c/go/+/760100 Reviewed-by: Mark Freeman <markfreeman@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Keith Randall <khr@golang.org>
6 daysnet/http/internal/http2: prevent alloc when writing status code for responsesNicholas S. Husin
Previously, writing responses with non-200 and non-404 status code requires an allocation. Now that CL 762040 prevents header names and values from escaping, we can modify writeFrame to not allocate status codes on the heap. Change-Id: I230bed1b83627c1fb389c0507106d8e16a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/762140 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
6 daysall: update to x/net@056ac74Nicholas S. Husin
This brings in CL 762041, CL 763160, and CL 762040. For #70914 Change-Id: Ieb9e5d59b233fda605fb3168f19f15ff8ca7da2b Reviewed-on: https://go-review.googlesource.com/c/go/+/740121 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Nicholas Husin <husin@google.com>
7 daysnet: document LookupSRV cname return valueyongqijia
Document that the first return value of LookupSRV is the canonical name of the DNS target that was looked up, which may differ from the input name due to CNAME records. Fixes #49982 Change-Id: I574e0f5cdc381d3d9b11b5bd7a5acbea2c9e185d GitHub-Last-Rev: 9c756d48d55587f373c7cf273aa64c960a7a94a8 GitHub-Pull-Request: golang/go#77475 Reviewed-on: https://go-review.googlesource.com/c/go/+/742660 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Nicholas Husin <nsh@golang.org> Reviewed-by: Damien Neil <dneil@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscmd/go: use MkdirTemp to create temp directory for "go bug"Damien Neil
Don't use a predictable, potentially attacker-controlled filename in /tmp. Fixes #78584 Fixes CVE-2026-39819 Change-Id: I72116aa6dd8fa50f65b6dc0292a15a8c6a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/763882 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Nicholas Husin <nsh@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscmd/compile: remove unused inNonInitFunction contextCuong Manh Le
CL 737821 removed the last functional use of inNonInitFunction. This field and its associated logic are now dead code and can be safely deleted. Change-Id: I4023ec7ef5d10c94ef54b9726f18cda863ee2ff4 Reviewed-on: https://go-review.googlesource.com/c/go/+/764020 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
7 dayscmd/internal/obj/arm64: add ASIMD cross-lane reduction instructionsAlexander Musman
Add support for ASIMD instructions that reduce a vector to a scalar by operating across all lanes. These use the ASIMDALL encoding class from the ARM architecture specification. Integer cross-lane reductions (.B8, .B16, .H4, .H8, .S4): Signed max/min across lanes: VSMAXV, VSMINV Unsigned max/min across lanes: VUMAXV, VUMINV Floating-point cross-lane reductions (.S4 arrangement): FP max/min across lanes: VFMAXV, VFMINV FP max/min across lanes (NM): VFMAXNMV, VFMINNMV Change-Id: I6af4462d26803dfc7c78db2ad9df4284083e31e8 Reviewed-on: https://go-review.googlesource.com/c/go/+/762202 Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscrypto/tls: prevent deadlock when client sends multiple key update messagesRoland Shoemaker
When we made setReadTrafficSecret send an alert when there are pending handshake messages, we introduced a deadlock when the client sends multiple key update messages that request a response, as handleKeyUpdate will lock the mutex, and defer the unlocking until the end of the function, but setReadTrafficSecret called sendAlert in the failure case, which also tries to lock the mutex. Add an argument to setReadTrafficSecret which lets the caller indicate if the mutex is already locked, and if so, call sendAlertLocked instead of sendAlert. Thanks to Jakub Ciolek for reporting this issue. Fixes #78334 Fixes CVE-2026-32283 Change-Id: Id8e56974233c910e0d66ba96eafbd2ea57832610 Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3881 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763767 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: David Chase <drchase@google.com> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Jakub Ciolek <jakub@ciolek.dev>
7 dayscmd/go: disallow cgo trust boundary bypassNeal Patel
The cgo compiler implicitly trusts generated files with 'cgo' prefixes; thus, SWIG files containing 'cgo' in their names will cause bypass of the trust boundary, leading to code smuggling or arbitrary code execution. The cgo compiler will now produce an error if it encounters any SWIG files containing this prefix. Thanks to Juho Forsén of Mattermost for reporting this issue. Fixes #78335 Fixes CVE-2026-27140 Change-Id: I44185a84e07739b3b347efdb86be7d8fa560b030 Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3520 Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763768 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: David Chase <drchase@google.com> Reviewed-by: Russ Cox <rsc@golang.org>
7 dayscmd/compile: fix loopbce overflow check logicJunyang Shao
addWillOverflow and subWillOverflow has an implicit assumption that y is positive, using it outside of addU and subU is really incorrect. This CL fixes those incorrect usage to use the correct logic in place. Thanks to Jakub Ciolek for reporting this issue. Fixes #78333 Fixes CVE-2026-27143 Change-Id: I263e8e7ac227e2a68109eb7bbd45f66569ed22ec Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3700 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763765 Reviewed-by: Jakub Ciolek <jakub@ciolek.dev> Reviewed-by: Russ Cox <rsc@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: David Chase <drchase@google.com>
7 dayscmd/compile: fix mem access overlap detectionJunyang Shao
When a no-op interface conversion is wrapped around the rhs of an assignment, the memory overlap detection logic in the compiler failed to peel down conversion to see the actual pointer, causing an incorrect no-overlapping determination. Thanks to Jakub Ciolek for reporting this issue. Fixes #78371 Fixes CVE-2026-27144 Change-Id: I55ff0806b099e1447bdbfba7fde6c6597db5d65c Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3780 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763764 Auto-Submit: David Chase <drchase@google.com> TryBot-Bypass: David Chase <drchase@google.com> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Jakub Ciolek <jakub@ciolek.dev>
7 dayscrypto/x509: fix wildcard constraint map case sensitivityRoland Shoemaker
When applying excluded constraints to wildcard DNS SANs, the constraint checking implementation did not normalize the case of the constraint nor the SAN, which could lead to incorrect constraint checking results. This change lowercases both the constraint and the SAN before checking for matches, ensuring that constraint checking is case-insensitive as intended. Thanks to Riyas from Saintgits College of Engineering for reporting this issue. Fixes #78332 Fixes CVE-2026-33810 Change-Id: Id27792c8ed4c40f2810bad8dbd8d5d520cb465bb Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3860 Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-by: Damien Neil <dneil@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763763 Reviewed-by: Russ Cox <rsc@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: David Chase <drchase@google.com>
7 dayshtml/template: properly track JS template literal brace depth across contextsRoland Shoemaker
Properly track JS template literal brace depth across branches/ranges, and prevent accidental re-use of escape analysis by including the brace depth in the stringification/mangling for contexts. Fixes #78331 Fixes CVE-2026-32289 Change-Id: I9f3f47c29e042220b18e4d3299db7a3fae4207fa Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3882 Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763762 Reviewed-by: Russ Cox <rsc@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: David Chase <drchase@google.com> Reviewed-by: Fan Mỹ Tâm Club <letrivien97@gmail.com>
7 dayscmd/compile: preserve dot vars necessary for debuggers in DWARFDerek Parker
This patch fixes a bug introduced in the recent DWARF refactor / cleanup where `shouldEmitDwarf` was unified and ended up pruning certain dot prefixed vars that are necessary for debuggers. Other dot prefixed vars are already pruned in earlier passes, those that remain are intentional and should be preserved. Change-Id: Ib0cee520e2b99770479889feb44f3981a518137b Reviewed-on: https://go-review.googlesource.com/c/go/+/763557 Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
7 dayscmd/internal/obj/arm64: add ASIMD miscellaneous unary instructionsAlexander Musman
Add support for ASIMD unary miscellaneous instructions that operate on a single source register. These use the ASIMDMISC encoding class from the ARM architecture specification. These instruction need some validation for arrangement constraints: - VNOT only allows .B8/.B16 arrangements - VCLS/VCLZ do not support D arrangements - Floating-point variants (VFABS, VFNEG, VFSQRT, VFRINT*) only allow floating-point arrangements (S and D) New instructions by group: Integer absolute/negate: VABS, VNEG Floating-point abs/negate: VFABS, VFNEG Floating-point sqrt: VFSQRT Floating-point round: VFRINTN, VFRINTP, VFRINTM, VFRINTZ Saturating abs/negate: VSQABS, VSQNEG Bit/count operations: VCLS, VCLZ, VNOT Change-Id: I62242eda31f82cd34119c7d4f97316a030e7663b Reviewed-on: https://go-review.googlesource.com/c/go/+/762201 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Keith Randall <khr@golang.org>
7 dayscmd/internal/obj/arm64: add ASIMD arithmetic instructionsAlexander Musman
Add encoding support for ASIMD three-register instructions covering floating-point, saturating, halving, integer multiply/accumulate, min/max (including pairwise variants), and bitwise operations. These belong to the "Advanced SIMD Three-register (same)" instruction class defined by the ARM architecture, meaning the two source registers use the same element arrangement (e.g., both .S4 or both .D2). In the assembler they share a common encoding path using the ASIMDSAME() macro. New instructions by group: Floating-point arithmetic: VFADD, VFSUB, VFMUL, VFDIV Floating-point min/max: VFMAX, VFMAXNM, VFMIN, VFMINNM Pairwise floating-point: VFADDP, VFMAXP, VFMINP, VFMAXNMP, VFMINNMP Saturating arithmetic: VSQADD, VUQADD, VSQSUB, VUQSUB Average (halving add): VSHADD, VSRHADD, VUHADD, VURHADD Integer multiply/accum: VMUL, VMLA, VMLS Integer min/max: VSMAX, VSMIN Pairwise integer min/max: VSMAXP, VSMINP, VUMAXP, VUMINP Bitwise: VBIC, VORN Change-Id: I732c84123ad1f302260514fdfe0d020787da017b Reviewed-on: https://go-review.googlesource.com/c/go/+/762200 Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscmd/internal/obj/arm64: add ASIMD shift instructionsAlexander Musman
Add support for ASIMD shift instructions. These use the ASIMDSHF encoding class from the ARM architecture specification, where the shift amount is encoded as an immediate derived from the element size. Also add ASIMD shifts-by-vector (3-register form) where the shift amount comes from a second vector register. These use the ASIMDSAME encoding class. New instructions by group: Shift by immediate (signed): VSSHR, VSRSHR Shift by immediate (saturating): VSQSHL, VUQSHL Narrowing shift by immediate: VSHRN, VSHRN2 Shift by vector (3-reg): VSSHL, VUSHL, VSQSHL, VUQSHL Change-Id: I039cc16bc01980b04e6940cc1d4670faf5fa7e3c Reviewed-on: https://go-review.googlesource.com/c/go/+/762180 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscmd/internal/obj/arm64: add remaining ASIMD compare instructionsAlexander Musman
Add remaining arm64 ASIMD vector compare instructions. All these instructions produce either all zeroes (false) or all ones (true) bits in each corresponding lane as the result. Added integer comparison instructions: - VCMEQ (compare to zero) - VCMGE, VCMGT (singed, both two-register and compare to zero) - VCMHI, VCMHS (unsigned two-register compare) - VCMLE, VCMLT (signed compare to zero) Added floating-point comparison instructions: - VFCMEQ, VFCMGE, VFCMGT (both two-register and zero variants) - VFCMLE, VFCMLT (compare to zero) Change-Id: I913165d3934f2556c9bdf38c5103ef56d86383ef Reviewed-on: https://go-review.googlesource.com/c/go/+/721640 Auto-Submit: Keith Randall <khr@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
7 dayscmd/internal/obj: refactor arm64 ASIMD instruction encodingAlexander Musman
Refactor arm64 ASIMD opcodes to use common helper routines named after their instruction classes from the arm64 XML specification. Add helper routines like ASIMDSAME for instructions with encoding class "asimdsame" in arm64 encodingindex.xml. Helper arguments follow the bitfield order in the speficication tables. For example, the CMEQ instruction entry: <tr class="instructiontable" encname="CMEQ_asimdsame_only"...> <td bitwidth="1" class="bitfield">1</td> <td bitwidth="2" class="bitfield"></td> <td bitwidth="5" class="bitfield">10001</td> <td class="iformname" iformid="CMEQ_advsimd_reg">CMEQ (register)</td> <td class="enctags">Vector</td> </tr> Now corresponds to ASIMDSAME(1, 0, 0x11), where each argument matches the correspoding bitfield value in the table. Change-Id: I024f3eba552906a865841bc1a296f14e3fca73f5 Reviewed-on: https://go-review.googlesource.com/c/go/+/719280 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
7 dayscmd/go/internal/tool: only forward SIGHUP, SIGINT, SIGQUIT, and SIGTERMMichael Matloob
These are the signals that are likely to be sent to go tool by other programs. This means we won't forward SIGTSTP, SIGTTIN, SIGTTOU. Doing so was breaking expected behavior in a terminal. Fixes #76173 Change-Id: I018808e8ecf59e4e111f353968d83b856a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/763060 Reviewed-by: Michael Matloob <matloob@google.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
7 dayscmd/compile: support all constant return types in switch lookup tablesqmuntal
Lookup tables for switch statements can be generalized to also support bools, strings, floats, and complex numbers. Change-Id: Ic3ece41fe2009050fbf08ba6f06ea8a567407974 Reviewed-on: https://go-review.googlesource.com/c/go/+/763320 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com>
7 daysarchive/tar: limit the number of old GNU sparse format entriesDamien Neil
We did not set a limit on the maximum size of sparse maps in the old GNU sparse format. Set a limit based on the cumulative size of the extension blocks used to encode the map (consistent with how we limit the sparse map size for other formats). Add an additional limit to the total number of sparse file entries, regardless of encoding, to all sparse formats. Thanks to Colin Walters (walters@verbum.org), Uuganbayar Lkhamsuren (https://github.com/uug4na), and Jakub Ciolek for reporting this issue. Fixes #78301 Fixes CVE-2026-32288 Change-Id: I84877345d7b41cc60c58771860ba70e16a6a6964 Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3901 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Roland Shoemaker <bracewell@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763766 Auto-Submit: David Chase <drchase@google.com> TryBot-Bypass: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jakub Ciolek <jakub@ciolek.dev>
7 daysall: update to x/tools@f6476fbaabd396b58618b473e4eb71e1f532b495Mark Freeman
This just brings in CL 763663 in hopes of fixing the longest builders. Change-Id: Ib4a24dc214f58e77dfd2999df7ecf5c0dd21d1fc Reviewed-on: https://go-review.googlesource.com/c/go/+/763770 Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
7 daysinternal/syscall/unix: properly support AT_SYMLINK_NOFOLLOW on LinuxDamien Neil
On Linux, the fchmodat syscall silently ignores the AT_SYMLINK_NOFOLLOW flag. Change the Linux Fchmodat function to use the fstatat2 syscall (added in Linux 6.6) when available. When fstatat2 is not available, use the same workaround as GNU libc and musl, which is to open the target file with O_PATH and then chmod it via /proc/self/fd. This change fixes an os.Root escape, where Root.Chmod could follow a symlink and act on a file outside of the root. Root.Chmod checks to see if its target is a symlink before calling fchmodat, so this escape requires the target to be replaced with a symlink in between the initial check and the fchmodat. Thanks to Uuganbayar Lkhamsuren (https://github.com/uug4na) for reporting this issue. Fixes CVE-2026-32282 Fixes #78293 Change-Id: Ie487be1a853b341a77b42ae0c59301d46a6a6964 Reviewed-on: https://go-internal-review.googlesource.com/c/go/+/3900 Reviewed-by: Damien Neil <dneil@google.com> Reviewed-by: Neal Patel <nealpatel@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/763761 TryBot-Bypass: David Chase <drchase@google.com> Auto-Submit: David Chase <drchase@google.com>
7 daysgo/types: Hasher, a hash function for TypesAlan Donovan
This CL defines a hash function for Types using the maphash.Hasher API proposed in #70471 (CL 657296) that is consistent with the equivalence relation of types.Identical. It also defines a variant, HasherIgnoreTypes, that is consistent with types.IdenticalIgnoreTags. (The actual hash functions are identical: both ignore tags.) The logic of the hash function was derived from golang.org/x/tools/go/types/typeutil.Hash. + test, doc, relnote Fixes #69420 Updates #70471 Change-Id: I1947cda6aec229d56eeda13decfb05eb266770f9 Reviewed-on: https://go-review.googlesource.com/c/go/+/657297 Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com> Auto-Submit: Alan Donovan <adonovan@google.com>
7 dayshash/maphash: add BloomFilter exampleAlan Donovan
This CL adds an example of using the maphash package to construct a Bloom filter, a compact probabilistic set of values whose hash function and equivalence relation are specified by a Hasher. Change-Id: I1545d75e23c1456178098d09487ba9fed03e5a27 Reviewed-on: https://go-review.googlesource.com/c/go/+/740440 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Robert Griesemer <gri@google.com>
7 daysmath/big: Binomial should return 0 if k < 0Weixie Cui
Fixes #78541 Change-Id: I73ba10b6d34f9f189b5bdd356d6325d5a4a6985f GitHub-Last-Rev: 0594d99f55c51f2f164d17a61c4eb1b2bbb8462e GitHub-Pull-Request: golang/go#78542 Reviewed-on: https://go-review.googlesource.com/c/go/+/763000 Auto-Submit: Robert Griesemer <gri@google.com> Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Neal Patel <nealpatel@google.com>
7 dayscmd/compile/internal/noder: use UIR V4Mark Freeman
Change-Id: If8acdbf0e48ed600c4ba3f762802879335df1465 Reviewed-on: https://go-review.googlesource.com/c/go/+/761980 Reviewed-by: Robert Griesemer <gri@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
8 dayscmd/go/internal/modload: rename State to LoaderIan Alexander
Rename modload.State to modload.Loader. Rename all references to module loader state. The term "Loader" now refers to the module loader by default. The package loader was explicitly renamed "packageLoader" in an earlier change in order to distinguish it from the module loader. [git-generate] cd src/cmd/go/internal/modload rf ' mv State Loader mv NewState NewLoader mv mvsReqs.loaderstate mvsReqs.ld mv replacementRepo.loaderstate replacementRepo.ld mv TestQueryImport.loaderstate TestQueryImport.ld mv LoadPackages.ld LoadPackages.pld mv Loader.CheckAllowed.s Loader.CheckAllowed.ld mv Loader.CheckExclusions.s Loader.CheckExclusions.ld mv Loader.CheckRetractions.s Loader.CheckRetractions.ld mv Loader.Reset.s Loader.Reset.ld mv Loader.setState.s Loader.setState.ld mv Loader.Fetcher.s Loader.Fetcher.ld mv Loader.vendorDir.s Loader.vendorDir.ld mv Loader.VendorDirOrEmpty.s Loader.VendorDirOrEmpty.ld mv Loader.AllowMissingModuleImports.s Loader.AllowMissingModuleImports.ld mv NewNoMainModulesError.s NewNoMainModulesError.ld mv BinDir.loaderstate BinDir.ld mv CheckDeprecation.loaderstate CheckDeprecation.ld mv CreateModFile.loaderstate CreateModFile.ld mv EditBuildList.loaderstate EditBuildList.ld mv EnterModule.loaderstate EnterModule.ld mv EnterWorkspace.loaderstate EnterWorkspace.ld mv ImportFromFiles.loaderstate ImportFromFiles.ld mv Init.loaderstate Init.ld mv ListModules.loaderstate ListModules.ld mv LoadModFile.loaderstate LoadModFile.ld mv LoadModGraph.loaderstate LoadModGraph.ld mv LoadPackages.loaderstate LoadPackages.ld mv Loader.Enabled.loaderstate Loader.Enabled.ld mv Loader.FindGoWork.loaderstate Loader.FindGoWork.ld mv Loader.HasModRoot.loaderstate Loader.HasModRoot.ld mv Loader.InitWorkfile.loaderstate Loader.InitWorkfile.ld mv Loader.ModFilePath.loaderstate Loader.ModFilePath.ld mv Loader.MustHaveModRoot.loaderstate Loader.MustHaveModRoot.ld mv Loader.PackageModule.loaderstate Loader.PackageModule.ld mv Loader.Why.loaderstate Loader.Why.ld mv Loader.WhyDepth.loaderstate Loader.WhyDepth.ld mv Loader.WillBeEnabled.loaderstate Loader.WillBeEnabled.ld mv Loader.inWorkspaceMode.loaderstate Loader.inWorkspaceMode.ld mv Lookup.loaderstate Lookup.ld mv MainModuleSet.DirImportPath.loaderstate MainModuleSet.DirImportPath.ld mv MainModuleSet.GetSingleIndexOrNil.loaderstate MainModuleSet.GetSingleIndexOrNil.ld mv MainModuleSet.GoVersion.loaderstate MainModuleSet.GoVersion.ld mv MainModuleSet.Godebugs.loaderstate MainModuleSet.Godebugs.ld mv MainModuleSet.getSingleMainModule.loaderstate MainModuleSet.getSingleMainModule.ld mv MainModuleSet.mustGetSingleMainModule.loaderstate MainModuleSet.mustGetSingleMainModule.ld mv MatchInModule.loaderstate MatchInModule.ld mv ModFile.loaderstate ModFile.ld mv ModuleGraph.allRootsSelected.loaderstate ModuleGraph.allRootsSelected.ld mv ModuleInfo.loaderstate ModuleInfo.ld mv PackageModRoot.loaderstate PackageModRoot.ld mv PackageModuleInfo.loaderstate PackageModuleInfo.ld mv Query.loaderstate Query.ld mv QueryPackages.loaderstate QueryPackages.ld mv QueryPattern.loaderstate QueryPattern.ld mv Replacement.loaderstate Replacement.ld mv Requirements.GoVersion.loaderstate Requirements.GoVersion.ld mv Requirements.Graph.loaderstate Requirements.Graph.ld mv Requirements.hasRedundantRoot.loaderstate Requirements.hasRedundantRoot.ld mv Requirements.initVendor.loaderstate Requirements.initVendor.ld mv Requirements.rootSelected.loaderstate Requirements.rootSelected.ld mv UpdateGoModFromReqs.loaderstate UpdateGoModFromReqs.ld mv VendorDir.loaderstate VendorDir.ld mv WorkFilePath.loaderstate WorkFilePath.ld mv WriteGoMod.loaderstate WriteGoMod.ld mv addDeprecation.loaderstate addDeprecation.ld mv addRetraction.loaderstate addRetraction.ld mv addUpdate.loaderstate addUpdate.ld mv addVersions.loaderstate addVersions.ld mv canonicalizeReplacePath.loaderstate canonicalizeReplacePath.ld mv checkReuse.loaderstate checkReuse.ld mv checkVendorConsistency.loaderstate checkVendorConsistency.ld mv commitRequirements.loaderstate commitRequirements.ld mv convertPruning.loaderstate convertPruning.ld mv die.loaderstate die.ld mv editRequirements.loaderstate editRequirements.ld mv expandGraph.loaderstate expandGraph.ld mv extendGraph.loaderstate extendGraph.ld mv fetch.loaderstate fetch.ld mv fixVersion.loaderstate fixVersion.ld mv goModSummary.loaderstate goModSummary.ld mv importFromModules.loaderstate importFromModules.ld mv keepSums.loaderstate keepSums.ld mv listModules.loaderstate listModules.ld mv loadFromRoots.loaderstate loadFromRoots.ld mv loadModFile.loaderstate loadModFile.ld mv loadPkg.fromExternalModule.loaderstate loadPkg.fromExternalModule.ld mv lookupRepo.loaderstate lookupRepo.ld mv makeMainModules.loaderstate makeMainModules.ld mv matchLocalDirs.loaderstate matchLocalDirs.ld mv matchPackages.loaderstate matchPackages.ld mv moduleInfo.loaderstate moduleInfo.ld mv modulePrefixesExcludingTarget.loaderstate modulePrefixesExcludingTarget.ld mv mustHaveCompleteRequirements.loaderstate mustHaveCompleteRequirements.ld mv mustHaveSums.loaderstate mustHaveSums.ld mv newRequirements.loaderstate newRequirements.ld mv overrideRoots.loaderstate overrideRoots.ld mv packageLoader.applyPkgFlags.loaderstate packageLoader.applyPkgFlags.ld mv packageLoader.checkMultiplePaths.loaderstate packageLoader.checkMultiplePaths.ld mv packageLoader.checkTidyCompatibility.loaderstate packageLoader.checkTidyCompatibility.ld mv packageLoader.goVersion.loaderstate packageLoader.goVersion.ld mv packageLoader.load.loaderstate packageLoader.load.ld mv packageLoader.pkg.loaderstate packageLoader.pkg.ld mv packageLoader.pkgTest.loaderstate packageLoader.pkgTest.ld mv packageLoader.preloadRootModules.loaderstate packageLoader.preloadRootModules.ld mv packageLoader.resolveMissingImports.loaderstate packageLoader.resolveMissingImports.ld mv packageLoader.stdVendor.loaderstate packageLoader.stdVendor.ld mv packageLoader.updateRequirements.loaderstate packageLoader.updateRequirements.ld mv parseIgnorePatterns.loaderstate parseIgnorePatterns.ld mv pathInModuleCache.loaderstate pathInModuleCache.ld mv previousVersion.loaderstate previousVersion.ld mv queryImport.loaderstate queryImport.ld mv queryLatestVersionIgnoringRetractions.loaderstate queryLatestVersionIgnoringRetractions.ld mv queryMatcher.filterVersions.loaderstate queryMatcher.filterVersions.ld mv queryPrefixModules.loaderstate queryPrefixModules.ld mv queryProxy.loaderstate queryProxy.ld mv queryReuse.loaderstate queryReuse.ld mv rawGoModData.loaderstate rawGoModData.ld mv rawGoModSummary.loaderstate rawGoModSummary.ld mv readModGraph.loaderstate readModGraph.ld mv replaceRelativeTo.loaderstate replaceRelativeTo.ld mv replacementFrom.loaderstate replacementFrom.ld mv requirementsFromModFiles.loaderstate requirementsFromModFiles.ld mv resolveLocalPackage.loaderstate resolveLocalPackage.ld mv resolveReplacement.loaderstate resolveReplacement.ld mv rootsFromModFile.loaderstate rootsFromModFile.ld mv setDefaultBuildMod.loaderstate setDefaultBuildMod.ld mv spotCheckRoots.loaderstate spotCheckRoots.ld mv tidyPrunedRoots.loaderstate tidyPrunedRoots.ld mv tidyRoots.loaderstate tidyRoots.ld mv tidyUnprunedRoots.loaderstate tidyUnprunedRoots.ld mv updatePrunedRoots.loaderstate updatePrunedRoots.ld mv updateRoots.loaderstate updateRoots.ld mv updateUnprunedRoots.loaderstate updateUnprunedRoots.ld mv updateWorkspaceRoots.loaderstate updateWorkspaceRoots.ld mv versionHasGoMod.loaderstate versionHasGoMod.ld mv versions.loaderstate versions.ld ' sed -i -e 's/loaderstate/ld/g' query_test.go cd ../bug rf ' mv runBug.moduleLoaderState runBug.moduleLoader mv printEnvDetails.loaderstate printEnvDetails.ld mv printGoEnv.loaderstate printGoEnv.ld ' cd ../clean rf ' mv runClean.moduleLoaderState runClean.moduleLoader ' cd ../envcmd rf ' mv runEnv.moduleLoaderState runEnv.moduleLoader mv ExtraEnvVars.loaderstate ExtraEnvVars.ld mv ExtraEnvVarsCostly.loaderstate ExtraEnvVarsCostly.ld ' cd ../fmtcmd rf ' mv runFmt.moduleLoaderState runFmt.moduleLoader ' cd ../generate rf ' mv runGenerate.moduleLoaderState runGenerate.moduleLoader ' cd ../list rf ' mv runList.moduleLoaderState runList.moduleLoader ' cd ../load rf ' mv GoFilesPackage.loaderstate GoFilesPackage.ld mv LoadImportWithFlags.loaderstate LoadImportWithFlags.ld mv LoadPackage.loaderstate LoadPackage.ld mv LoadPackageWithFlags.loaderstate LoadPackageWithFlags.ld mv Package.load.loaderstate Package.load.ld mv PackagesAndErrors.loaderstate PackagesAndErrors.ld mv PackagesAndErrorsOutsideModule.loaderstate PackagesAndErrorsOutsideModule.ld mv TestPackageList.loaderstate TestPackageList.ld mv TestPackagesAndErrors.loaderstate TestPackagesAndErrors.ld mv TestPackagesFor.loaderstate TestPackagesFor.ld mv defaultGODEBUG.loaderstate defaultGODEBUG.ld mv defaultGODEBUGGoVersion.loaderstate defaultGODEBUGGoVersion.ld mv disallowInternal.loaderstate disallowInternal.ld mv loadImport.loaderstate loadImport.ld mv loadPackageData.loaderstate loadPackageData.ld mv preload.preloadImports.loaderstate preload.preloadImports.ld mv preload.preloadMatches.loaderstate preload.preloadMatches.ld mv setToolFlags.loaderstate setToolFlags.ld ' cd ../modcmd rf ' mv runDownload.moduleLoaderState runDownload.moduleLoader mv runEdit.moduleLoaderState runEdit.moduleLoader mv runGraph.moduleLoaderState runGraph.moduleLoader mv runInit.moduleLoaderState runInit.moduleLoader mv runTidy.moduleLoaderState runTidy.moduleLoader mv runVendor.moduleLoaderState runVendor.moduleLoader mv runVerify.moduleLoaderState runVerify.moduleLoader mv runWhy.moduleLoaderState runWhy.moduleLoader mv RunVendor.loaderstate RunVendor.ld mv verifyMod.loaderstate verifyMod.ld ' cd ../modget rf ' mv runGet.moduleLoaderState runGet.moduleLoader mv newQuery.loaderstate newQuery.ld mv newResolver.loaderstate newResolver.ld mv parseArgs.loaderstate parseArgs.ld mv query.validate.loaderstate query.validate.ld mv resolver.applyUpgrades.loaderstate resolver.applyUpgrades.ld mv resolver.checkPackageProblems.loaderstate resolver.checkPackageProblems.ld mv resolver.checkWildcardVersions.loaderstate resolver.checkWildcardVersions.ld mv resolver.findAndUpgradeImports.loaderstate resolver.findAndUpgradeImports.ld mv resolver.findMissingWildcards.loaderstate resolver.findMissingWildcards.ld mv resolver.loadPackages.loaderstate resolver.loadPackages.ld mv resolver.matchInModule.loaderstate resolver.matchInModule.ld mv resolver.performLocalQueries.loaderstate resolver.performLocalQueries.ld mv resolver.performPathQueries.loaderstate resolver.performPathQueries.ld mv resolver.performPatternAllQueries.loaderstate resolver.performPatternAllQueries.ld mv resolver.performToolQueries.loaderstate resolver.performToolQueries.ld mv resolver.performWildcardQueries.loaderstate resolver.performWildcardQueries.ld mv resolver.performWorkQueries.loaderstate resolver.performWorkQueries.ld mv resolver.queryModule.loaderstate resolver.queryModule.ld mv resolver.queryNone.loaderstate resolver.queryNone.ld mv resolver.queryPackages.loaderstate resolver.queryPackages.ld mv resolver.queryPath.loaderstate resolver.queryPath.ld mv resolver.queryPattern.loaderstate resolver.queryPattern.ld mv resolver.queryWildcard.loaderstate resolver.queryWildcard.ld mv resolver.resolveQueries.loaderstate resolver.resolveQueries.ld mv resolver.tryWildcard.loaderstate resolver.tryWildcard.ld mv resolver.updateBuildList.loaderstate resolver.updateBuildList.ld mv updateTools.loaderstate updateTools.ld ' cd ../run rf ' mv runRun.moduleLoaderState runRun.moduleLoader ' cd ../test rf ' mv runTest.moduleLoaderState runTest.moduleLoader mv addTestVet.loaderstate addTestVet.ld mv builderTest.loaderstate builderTest.ld ' cd ../tool rf ' mv runTool.moduleLoaderState runTool.moduleLoader mv buildAndRunBuiltinTool.loaderstate buildAndRunBuiltinTool.ld mv buildAndRunModtool.loaderstate buildAndRunModtool.ld mv buildAndRunTool.loaderstate buildAndRunTool.ld mv listTools.loaderstate listTools.ld mv loadModTool.loaderstate loadModTool.ld ' cd ../toolchain rf ' mv Select.moduleLoaderState Select.moduleLoader mv Switcher.loaderstate Switcher.ld mv SwitchOrFatal.loaderstate SwitchOrFatal.ld mv maybeSwitchForGoInstallVersion.loaderstate maybeSwitchForGoInstallVersion.ld mv modGoToolchain.loaderstate modGoToolchain.ld ' cd ../vet rf ' mv run.moduleLoaderState run.moduleLoader ' cd ../work rf ' mv runBuild.moduleLoaderState runBuild.moduleLoader mv runInstall.moduleLoaderState runInstall.moduleLoader mv BuildInit.loaderstate BuildInit.ld mv InstallPackages.loaderstate InstallPackages.ld mv installOutsideModule.loaderstate installOutsideModule.ld ' cd ../workcmd rf ' mv runEditwork.moduleLoaderState runEditwork.moduleLoader mv runInit.moduleLoaderState runInit.moduleLoader mv runSync.moduleLoaderState runSync.moduleLoader mv runUse.moduleLoaderState runUse.moduleLoader mv runVendor.moduleLoaderState runVendor.moduleLoader ' Change-Id: I903063b9f637a2f19a050b4cd660c870da772e54 Reviewed-on: https://go-review.googlesource.com/c/go/+/763620 Reviewed-by: Michael Matloob <matloob@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Matloob <matloob@google.com>
8 dayscrypto/tls: avoid atLeastReader and associated allocations.Daniel Morsing
Go 1.21 introduced bytes.Buffer.AvailableBuffer. This mechanism lets us write directly into a Buffer's backing memory while also implementing custom logic without going through interfaces. atLeastReader caused an allocation on every read. On workloads with very small reads, these allocations can add up to substantial overhead. By using Buffer.AvailableBytes(), we can avoid these allocations and an interface indirection in the Read fast path. Fixes #58249. Change-Id: Icf26ec1dd7ef88154c47356ef9c26a516a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/739980 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
8 dayscrypto/ed25519: use FIPS 140-3 GenerateKey and enforce fips140=onlyFilippo Valsorda
Fixes #77594 Change-Id: I2685931ec37d9beb99de2e0398ab6f456a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/745800 Auto-Submit: Filippo Valsorda <filippo@golang.org> Reviewed-by: Daniel McCarney <daniel@binaryparadox.net> Reviewed-by: Junyang Shao <shaojunyang@google.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
8 dayscmd/go/internal/modload: disambiguate package and module loadersIan Alexander
Change the short name of the packageLoader variables to `pld` to allow for the module loader to use `ld` consistently. This change is part of the effort to rename the modload.State type to modload.Loader in order to better reflect its purpose. Change-Id: I73b072613190bcca841bcca16e9af6e60ecd99f8 Reviewed-on: https://go-review.googlesource.com/c/go/+/763380 Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
8 dayscmd/internal/testdir: do not fail fast when running asmcheckPaul Murphy
Print each error as they happen, and continue running. This is helpful if multiple targets fail using -all_codegen. Change-Id: Ifcb87a834662fbd4766e562ecf3ca278dcdc1af2 Reviewed-on: https://go-review.googlesource.com/c/go/+/761465 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Keith Randall <khr@golang.org>
8 daysall: update to x/tools@b36d1d12a1a724eb9be6609c9789aec3d99e6030Mark Freeman
Change-Id: If1c8d07aa53c5444b815b922ff4e0c18649ab83c Reviewed-on: https://go-review.googlesource.com/c/go/+/763181 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
8 dayscmd/go: invalidate test cache when -coverpkg dependencies changeRyan Currah
When running tests with -cover and -coverpkg, the resulting coverage profile includes data from all packages specified in -coverpkg, not just the test package. Previously, the test cache key did not account for changes in these out-of-band covered packages, causing stale coverage profiles to be reused even when source files in covered packages were modified. Fix this by hashing the BuildActionIDs of the writeCoverMetaAct's dependencies (the compile actions for all covered packages) and incorporating that hash into the coverage profile cache key via cache.Subkey. The covMeta hash is now computed directly in tryCacheWithID by locating the "write coverage meta-data file" action among the run action's dependencies, keeping all cache logic in one place. When -coverpkg is used without -coverprofile, a sentinel cache entry is written so the cache can still detect when covered packages change. Fixes #74873 Change-Id: Ice84557789e325330759442689d0e28f871858bb GitHub-Last-Rev: 84aa5376f471704b0ee7be79ab33a1d5bba71c5a GitHub-Pull-Request: golang/go#74773 Reviewed-on: https://go-review.googlesource.com/c/go/+/690775 Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Matloob <matloob@google.com> Reviewed-by: Michael Matloob <matloob@golang.org>
8 dayscmd/go/internal/modload: minor modernization fixesIan Alexander
* Add package comment. * Make octal literal explicit. * Simplify single var declaration. Change-Id: I3841ca538034c75098502b35b1a713a98e936efc Reviewed-on: https://go-review.googlesource.com/c/go/+/763360 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Michael Matloob <matloob@google.com>
8 dayscmd/compile: ensure result selects are in the block of a callkhr@golang.org
Without this CL, when compiling test/range4.go:func9, we get: b1: v1 = StaticLECall <runtime.deferrangefunc> mem = SelectN [1] v1 Defer v1 -> b2 b3 b2: v2 = SelectN [0] v1 That select in b2 should really live in b1. This doesn't cause a bug as far as I can tell, but it makes a check fail when when checkEnabled is set in the compiler. Change-Id: I8fe928fa8c376b81131ec712fc69d5fd39a1d4bb Reviewed-on: https://go-review.googlesource.com/c/go/+/747740 Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
8 daysruntime: remove gopanicFP field from panic recordKeith Randall
We can use SP instead of FP for the single thing this was used for (finding the gopanic frame). Change-Id: Iad2b406705abc3cdb0dbcdd069f7f9a330509164 Reviewed-on: https://go-review.googlesource.com/c/go/+/738042 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
8 dayscmd/compile/testdata/script/issue77033.txt: make test panicAlex Brainman
The issue77033.txt script is executed by cmd/internal/script/scripttest/run.go program, that uses 60 seconds interrupt timeout. The timeout is implemented by calling os/exec.Cmd.Process.Signal(os.Interrupt) but that call is not implemented on Windows, and we get run.go:259: FAIL: testdata\script\issue77033.txt:2: go test -bench=Foo -pgo=default.pgo: exec: canceling Cmd: not supported by windows useless output when the test fails on Windows. This CL adds -timeout=30s to go test command, that will make test panic. Hopefully panic will provide more details about the failure. For #77485 Change-Id: I69839c59a28f48fea5d504a5038145ffd651aed2 Reviewed-on: https://go-review.googlesource.com/c/go/+/762980 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com>