<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.21.7</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.21.7</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.21.7'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2024-02-06T18:00:12Z</updated>
<entry>
<title>[release-branch.go1.21] go1.21.7</title>
<updated>2024-02-06T18:00:12Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2024-02-06T17:32:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=f29208030ab80769ce61dedb5a419821abf92113'/>
<id>urn:sha1:f29208030ab80769ce61dedb5a419821abf92113</id>
<content type='text'>
Change-Id: I2c0bbd094a1e9a12576869437a362da40f76f22d
Reviewed-on: https://go-review.googlesource.com/c/go/+/562117
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] cmd/internal/obj/arm64: fix frame pointer restore in epilogue</title>
<updated>2024-02-02T16:26:24Z</updated>
<author>
<name>Keith Randall</name>
<email>khr@golang.org</email>
</author>
<published>2023-10-30T20:23:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2fdad8af6daf385ab688ba5465442fe943187b84'/>
<id>urn:sha1:2fdad8af6daf385ab688ba5465442fe943187b84</id>
<content type='text'>
For leaf but nonzero-frame functions.

Currently we're not restoring it properly. We also need to restore
it before popping the stack frame, so that the frame won't get
clobbered by a signal handler in the meantime.

For #63830
Fixes #65449

Needs a test, but I'm not at all sure how we would actually do that. Leaving for inspiration.

Change-Id: I273a25f2a838f05a959c810145cccc5428eaf164
Reviewed-on: https://go-review.googlesource.com/c/go/+/538635
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Reviewed-by: Eric Fang &lt;eric.fang@arm.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: David Chase &lt;drchase@google.com&gt;
(cherry picked from commit c9888bdfe2cdd85d14d7d184863d2e8bc42ff73c)
Reviewed-on: https://go-review.googlesource.com/c/go/+/560735
TryBot-Bypass: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] cmd/go/internal/generate: call modload.InitWorkFile</title>
<updated>2024-02-01T20:19:50Z</updated>
<author>
<name>Michael Matloob</name>
<email>matloob@golang.org</email>
</author>
<published>2024-01-29T16:14:05Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=01c93ad0498b4bc337ced16f4a4b8b65f255189c'/>
<id>urn:sha1:01c93ad0498b4bc337ced16f4a4b8b65f255189c</id>
<content type='text'>
This is necessary for go generate to enter workspace mode for
recognizing package paths in the workspace.

For #56098
Fixes #65351

Change-Id: I25f68de24f4189259353f63194823516e9d3d505
Reviewed-on: https://go-review.googlesource.com/c/go/+/559195
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
(cherry picked from commit b91bad78199aaf8baeb66cb8a30f51b89b8f90ee)
Reviewed-on: https://go-review.googlesource.com/c/go/+/559235
</content>
</entry>
<entry>
<title>[release-branch.go1.21] Revert "crypto/internal/boring: upgrade module to fips-20220613" +1</title>
<updated>2024-02-01T18:25:33Z</updated>
<author>
<name>Filippo Valsorda</name>
<email>filippo@golang.org</email>
</author>
<published>2024-01-26T22:22:45Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=db74bfba18051397d8feb93628b1e9eb3db15575'/>
<id>urn:sha1:db74bfba18051397d8feb93628b1e9eb3db15575</id>
<content type='text'>
This reverts CL 553855 ("crypto/internal/boring: upgrade module to
fips-20220613") and CL 553856 ("crypto/tls: align FIPS-only mode with
BoringSSL policy").

Fixes #65323
Updates #65321
Updates #64717
Updates #62372

Change-Id: I0938b97e5b4904e6532448b8ae76e920d03d0508
Reviewed-on: https://go-review.googlesource.com/c/go/+/558796
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Roland Shoemaker &lt;roland@golang.org&gt;
Auto-Submit: Filippo Valsorda &lt;filippo@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 09b5de48e64e67db92b31eaca054c5d096e3c057)
Reviewed-on: https://go-review.googlesource.com/c/go/+/560275
</content>
</entry>
<entry>
<title>[release-branch.go1.21] runtime: fix Pinner.Pin documentation</title>
<updated>2024-01-31T21:20:32Z</updated>
<author>
<name>qiulaidongfeng</name>
<email>2645477756@qq.com</email>
</author>
<published>2024-01-26T00:47:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=916e6cddf1fb0dcbd857ce0fc2deb3531f6fd14a'/>
<id>urn:sha1:916e6cddf1fb0dcbd857ce0fc2deb3531f6fd14a</id>
<content type='text'>
Fixes #63768

Change-Id: I01a9bb8f9af22a6b3f6534d431e3ea623875ed48
GitHub-Last-Rev: 7c5dd4edb1697b5ffa489e4457c93cdb7d6fa1a8
GitHub-Pull-Request: golang/go#64920
Reviewed-on: https://go-review.googlesource.com/c/go/+/553395
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
Auto-Submit: Michael Knyszek &lt;mknyszek@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] cmd/go/internal/toolchain: apply the -modcacherw flag when downloading a module to determine what toolchain it needs</title>
<updated>2024-01-31T17:34:35Z</updated>
<author>
<name>Bryan C. Mills</name>
<email>bcmills@google.com</email>
</author>
<published>2024-01-11T20:00:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=6552f3d4ac1bd6f6b7240a3568d8075e4c0d49f8'/>
<id>urn:sha1:6552f3d4ac1bd6f6b7240a3568d8075e4c0d49f8</id>
<content type='text'>
Fixes #64497.
Updates #64282.

Change-Id: I3f211c599ee70cb58254d0bc07eeb3c135124e58
Reviewed-on: https://go-review.googlesource.com/c/go/+/555436
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
Reviewed-by: Russ Cox &lt;rsc@golang.org&gt;
(cherry picked from commit cc38c68ae09fa591697a4239a7dedd2efe386995)
Reviewed-on: https://go-review.googlesource.com/c/go/+/559198
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] crypto/x509: properly gate test on macos version</title>
<updated>2024-01-31T17:30:51Z</updated>
<author>
<name>Roland Shoemaker</name>
<email>roland@golang.org</email>
</author>
<published>2023-12-12T17:28:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=3960318b87ffa4a229f2e8f7fd5a6f43336a5eb4'/>
<id>urn:sha1:3960318b87ffa4a229f2e8f7fd5a6f43336a5eb4</id>
<content type='text'>
Fixes the gating of TestIssue51759 by shelling out to sw_vers to check
what version of macOS we are on.

For #64677
Fixes #65380

Change-Id: I5eef4fa39e5449e7b2aa73864625c3abf002aef8
Reviewed-on: https://go-review.googlesource.com/c/go/+/549195
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
Auto-Submit: Roland Shoemaker &lt;roland@golang.org&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 400e24a8be852e7b20eb4af1999b28c20bb4ea21)
Reviewed-on: https://go-review.googlesource.com/c/go/+/559517
Auto-Submit: Michael Pratt &lt;mpratt@google.com&gt;
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] go/types, types2: don't lose position info of interface embeddings</title>
<updated>2024-01-25T17:49:05Z</updated>
<author>
<name>Robert Griesemer</name>
<email>gri@golang.org</email>
</author>
<published>2024-01-10T23:49:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=00f974eb1f1ecbdf0d16667cd82a5aec16216d7f'/>
<id>urn:sha1:00f974eb1f1ecbdf0d16667cd82a5aec16216d7f</id>
<content type='text'>
Accurate position information for embedded types in interfaces is
crucial to identify the corresponding source file, and with that
the Go language version associated with that file. (The position
information is also important for proper error messages.)

Before this CL, the position information for embedded types was
discarded after type set computation, in the assumption that it
was not needed anymore. However, substitutions that update the
interface may lead to repeated type set computations which then
won't have the correct position information.

This CL does preserve the position information for embedded
types until the end of type checking (cleanup phase), and also
copy the position information during a substitution of the
interface.

The respective bug (#64759) doesn't seem to appear in 1.22 (most
likely because it's hidden by some of the changes made with respect
to the file version logic), but the existing code is still wrong.
The backport of this code to 1.21 and 1.20 fixes the issue in those
releases.

For #64759.
Fixes #65053.

Change-Id: I80f4004c9d79cb02eac6739c324c477706615102
Reviewed-on: https://go-review.googlesource.com/c/go/+/555296
Run-TryBot: Robert Griesemer &lt;gri@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Robert Findley &lt;rfindley@google.com&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
Reviewed-on: https://go-review.googlesource.com/c/go/+/555415
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.21] runtime: properly model rwmutex in lock ranking</title>
<updated>2024-01-25T17:20:02Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2023-12-13T20:07:28Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2f91c16e68b8c82e4ca2e422bf9a520ec46f817c'/>
<id>urn:sha1:2f91c16e68b8c82e4ca2e422bf9a520ec46f817c</id>
<content type='text'>
(This cherry-pick combines CL 549536 and the follow-up fix CL 555055.)

Currently, lock ranking doesn't really try to model rwmutex. It records
the internal locks rLock and wLock, but in a subpar fashion:

1. wLock is held from lock to unlock, so it works OK, but it conflates
   write locks of all rwmutexes as rwmutexW, rather than allowing
   different rwmutexes to have different rankings.
2. rLock is an internal implementation detail that is only taken when
   there is contention in rlock. As as result, the reader lock path is
   almost never checked.

Add proper modeling. rwmutexR and rwmutexW remain as the ranks of the
internal locks, which have their own ordering. The new init method is
passed the ranks of the higher level lock that this represents, just
like lockInit for mutex.

execW ordered before MALLOC captures the case from #64722. i.e., there
can be allocation between BeforeFork and AfterFork.

For #64722.
Fixes #64761.

------

runtime: replace rwmutexR/W with per-rwmutex lock rank

CL 549536 intended to decouple the internal implementation of rwmutex
from the semantic meaning of an rwmutex read/write lock in the static
lock ranking.

Unfortunately, it was not thought through well enough. The internals
were represented with the rwmutexR and rwmutexW lock ranks. The idea was
that the internal lock ranks need not model the higher-level ordering,
since those have separate rankings. That is incorrect; rwmutexW is held
for the duration of a write lock, so it must be ranked before any lock
taken while any write lock is held, which is precisely what we were
trying to avoid.

This is visible in violations like:

        0 : execW 11 0x0
        1 : rwmutexW 51 0x111d9c8
        2 : fin 30 0x111d3a0
        fatal error: lock ordering problem

execW &lt; fin is modeled, but rwmutexW &lt; fin is missing.

Fix this by eliminating the rwmutexR/W lock ranks shared across
different types of rwmutex. Instead require users to define an
additional "internal" lock rank to represent the implementation details
of rwmutex.rLock. We can avoid an additional "internal" lock rank for
rwmutex.wLock because the existing writeRank has the same semantics for
semantic and internal locking. i.e., writeRank is held for the duration
of a write lock, which is exactly how rwmutex.wLock is used, so we can
use writeRank directly on wLock.

For #64722.

Cq-Include-Trybots: luci.golang.try:go1.21-linux-amd64-staticlockranking
Change-Id: I23335b28faa42fb04f1bc9da02fdf54d1616cd28
Reviewed-on: https://go-review.googlesource.com/c/go/+/549536
Reviewed-by: Michael Knyszek &lt;mknyszek@google.com&gt;
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
(cherry picked from commit 9b4b3e5acca2dabe107fa2c3ed963097d78a4562)
(cherry picked from commit dcbe77246922fe7ef41f07df228f47a37803f360)
Reviewed-on: https://go-review.googlesource.com/c/go/+/554976
</content>
</entry>
<entry>
<title>[release-branch.go1.21] slices: explicitly discard results of some functions</title>
<updated>2024-01-10T20:16:07Z</updated>
<author>
<name>Alan Donovan</name>
<email>adonovan@google.com</email>
</author>
<published>2024-01-05T20:54:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=2540b1436ff452529b1668a8310411ddea826c52'/>
<id>urn:sha1:2540b1436ff452529b1668a8310411ddea826c52</id>
<content type='text'>
This will otherwise trigger an "unusedresult" vet check.

For #64978.
Fixes #65023.
Fixes #60058.

Change-Id: Ie19aded0f808d394f389452c3ff7f3edc1ed710d
Reviewed-on: https://go-review.googlesource.com/c/go/+/554196
LUCI-TryBot-Result: Go LUCI &lt;golang-scoped@luci-project-accounts.iam.gserviceaccount.com&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
(cherry picked from commit 8088b6db2341e6efdb9e0b0f43953ccd17fd9705)
Reviewed-on: https://go-review.googlesource.com/c/go/+/554756
Reviewed-by: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Auto-Submit: Dmitri Shuralyov &lt;dmitshur@google.com&gt;
Reviewed-by: Alan Donovan &lt;adonovan@google.com&gt;
</content>
</entry>
</feed>
