| Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
* 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>
|
|
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>
|
|
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>
|
|
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>
|