<feed xmlns='http://www.w3.org/2005/Atom'>
<title>go, branch go1.20rc3</title>
<subtitle>Fork of Go programming language with my patches.</subtitle>
<id>http://git.kilabit.info/go/atom?h=go1.20rc3</id>
<link rel='self' href='http://git.kilabit.info/go/atom?h=go1.20rc3'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/'/>
<updated>2023-01-12T17:16:08Z</updated>
<entry>
<title>[release-branch.go1.20] go1.20rc3</title>
<updated>2023-01-12T17:16:08Z</updated>
<author>
<name>Gopher Robot</name>
<email>gobot@golang.org</email>
</author>
<published>2023-01-12T16:47:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=b3160e8bcedb25c5266e047ada01b6f462521401'/>
<id>urn:sha1:b3160e8bcedb25c5266e047ada01b6f462521401</id>
<content type='text'>
Change-Id: I87007947c075e8b90dd74bdf164b59e81487f6de
Reviewed-on: https://go-review.googlesource.com/c/go/+/461836
Reviewed-by: Heschi Kreinick &lt;heschi@google.com&gt;
Auto-Submit: Gopher Robot &lt;gobot@golang.org&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Carlos Amedee &lt;carlos@golang.org&gt;
Run-TryBot: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>[release-branch.go1.20] all: merge master (245e95d) into release-branch.go1.20</title>
<updated>2023-01-11T23:01:18Z</updated>
<author>
<name>Carlos Amedee</name>
<email>carlos@golang.org</email>
</author>
<published>2023-01-11T23:01:17Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=9efc2e7f9592b38d4573e81460a5be9d2dee409b'/>
<id>urn:sha1:9efc2e7f9592b38d4573e81460a5be9d2dee409b</id>
<content type='text'>
Merge List:

+ 2023-01-11 245e95dfab go/types, types2: don't look up fields or methods when expecting a type
+ 2023-01-11 18625d9bec runtime: fix incorrect comment
+ 2023-01-11 6ad27161f8 cmd/compile: better error message for when a type is in a constraint but not the type set
+ 2023-01-10 76d39ae349 cmd/link, runtime: Apple libc atfork workaround take 3
+ 2023-01-10 0a0de0fc42 runtime: revert use of __fork to work around Apple atfork bugs
+ 2023-01-10 82f09b75ca os/exec: avoid leaking an exec.Cmd in TestWaitInterrupt
+ 2023-01-09 0202ad0b3a cmd/compile: prevent IsNewObject from taking quadratic time
+ 2023-01-09 64519baf38 cmd/compile/internal/pgo: add hint to missing start_line error
+ 2023-01-09 376076f3c6 runtime: skip TestCgoPprofCallback in short mode, don't run in parallel
+ 2023-01-09 0bbd67e52f runtime/pprof: document possibility of empty stacks
+ 2023-01-09 d9f23cfe78 runtime/pprof: improve output of TestLabelSystemstack
+ 2023-01-09 8232a09e3e sync/atomic: fix the note of atomic.Store
+ 2023-01-09 841c3eb166 all: fix typos in go file comments
+ 2023-01-06 f721fa3be9 syscall: skip TestUseCgroupFD if cgroupfs not mounted
+ 2023-01-06 76ec919237 net: fix typo in hosts.go
+ 2023-01-06 660d4815ea cmd/compile: describe how Go maps to wasm implementation
+ 2023-01-05 119f679a3b crypto/tls: fix typo in cacheEntry godoc
+ 2023-01-05 d50ea217f6 cmd/cover: fix problems with "go test -covermode=atomic sync/atomic"
+ 2023-01-04 bae7d772e8 doc/go1.20: fix links to new strings functions
+ 2023-01-04 4e7c838483 crypto/internal/boring: add dev.boringcrypto README.md text
+ 2023-01-04 46e3d9d12a cmd/compile: use "satisfies" (not "implements") for constraint errors
+ 2023-01-04 79cdecc852 cmd/gofmt: fix a typo in a comment
+ 2023-01-03 9955a7e9bb README.vendor: minor updates
+ 2023-01-03 d03231d9ce doc/go1.20: fix http.ResponseController example
+ 2023-01-03 cdc73f0679 .github: suggest using private browsing in pkgsite template

Change-Id: I73be496aa4163ad1d3a6cc8114f1a612968d4b10
</content>
</entry>
<entry>
<title>go/types, types2: don't look up fields or methods when expecting a type</title>
<updated>2023-01-11T22:29:34Z</updated>
<author>
<name>Robert Findley</name>
<email>rfindley@google.com</email>
</author>
<published>2023-01-11T19:41:03Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=245e95dfabd77f337373bf2d6bb47cd353ad8d74'/>
<id>urn:sha1:245e95dfabd77f337373bf2d6bb47cd353ad8d74</id>
<content type='text'>
As we have seen many times, the type checker must be careful to avoid
accessing named type information before the type is fully set up. We
need a more systematic solution to this problem, but for now avoid one
case that causes a crash: checking a selector expression on an
incomplete type when a type expression is expected.

For golang/go#57522

Change-Id: I7ed31b859cca263276e3a0647d1f1b49670023a9
Reviewed-on: https://go-review.googlesource.com/c/go/+/461577
Run-TryBot: Robert Findley &lt;rfindley@google.com&gt;
Auto-Submit: Robert Findley &lt;rfindley@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
</content>
</entry>
<entry>
<title>runtime: fix incorrect comment</title>
<updated>2023-01-11T22:26:01Z</updated>
<author>
<name>zhengchaopu</name>
<email>zhengchaopu@gmail.com</email>
</author>
<published>2023-01-11T08:31:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=18625d9becc559e65ab5b39aa5d27ae6eb7b00aa'/>
<id>urn:sha1:18625d9becc559e65ab5b39aa5d27ae6eb7b00aa</id>
<content type='text'>
Fix incorrect comment for the runtime package.

Change-Id: Iab889eff0e9c622afbed959d32b8b5f0ed0bfebf
GitHub-Last-Rev: e9587868db36d9dd466f52f7ffc5de09947a6b2f
GitHub-Pull-Request: golang/go#57731
Reviewed-on: https://go-review.googlesource.com/c/go/+/461498
Reviewed-by: Keith Randall &lt;khr@golang.org&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Keith Randall &lt;khr@golang.org&gt;
Auto-Submit: Keith Randall &lt;khr@golang.org&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile: better error message for when a type is in a constraint but not the type set</title>
<updated>2023-01-11T17:10:19Z</updated>
<author>
<name>Robert Griesemer</name>
<email>gri@golang.org</email>
</author>
<published>2023-01-04T01:05:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=6ad27161f8d1b9c5e03fb3415977e1d3c3b11323'/>
<id>urn:sha1:6ad27161f8d1b9c5e03fb3415977e1d3c3b11323</id>
<content type='text'>
While at it, also remove the word "constraint" in the detail explanation
of an unsatisfied constraint.

Fixes #57500.

Change-Id: I55dae1694de2cfdb434aeba9d4a3530af7aca8f5
Reviewed-on: https://go-review.googlesource.com/c/go/+/460455
Reviewed-by: Robert Findley &lt;rfindley@google.com&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
Run-TryBot: Robert Griesemer &lt;gri@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Robert Griesemer &lt;gri@google.com&gt;
</content>
</entry>
<entry>
<title>cmd/link, runtime: Apple libc atfork workaround take 3</title>
<updated>2023-01-10T20:34:22Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2023-01-04T14:21:14Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=76d39ae3499238ac7efb731f4f4cd47b1b3288ab'/>
<id>urn:sha1:76d39ae3499238ac7efb731f4f4cd47b1b3288ab</id>
<content type='text'>
CL 451735 worked around bugs in Apple's atfork handlers by calling
notify_is_valid_token and xpc_atfork_child at startup, so that init
code that wouldn't be safe in the child process would be warmed up in
the parent process instead, but xpc_atfork_child broke use of the xpc
library in Go programs, and xpc is internally used by various macOS
frameworks (#57263).

CL 459175 reverted that change, and then CL 459176 tried a new
approach: use __fork, which doesn't call any of the atfork handlers at all.
That worked, but an Apple engineer reviewing the change in private
email suggests that since __fork is not public API, it should be avoided.
The same engineer (with access to the source code for the xpc library)
suggests that the breakage in #57263 is caused by xpc_atfork_child
marking the library as unusable, expecting an imminent call to exec,
and that calling xpc_date_create_from_current instead would do the
necessary initialization without marking xpc as unusable.

CL 460475 reverted that change, to prepare for this one.

This CL goes back to the original “call functions to warm things up”
approach, replacing xpc_atfork_child with xpc_date_create_from_current.

The CL also updates cmd/link to use OS and SDK version 10.13.0 for
x86 macOS binaries, up from 10.9.0, also suggested by the Apple engineer.
Combined with the two warmup calls, this makes the fork hangs go away.
The minimum macOS version has been 10.13 High Sierra since Go 1.17,
so there should be no problem with writing that in the binaries too.

Fixes #33565.
Fixes #56784.
Fixes #57263.
Fixes #57577.

Change-Id: I20769d9daa1fe9ea930f8009481335f8a14dc21b
Reviewed-on: https://go-review.googlesource.com/c/go/+/460476
Auto-Submit: Russ Cox &lt;rsc@golang.org&gt;
Run-TryBot: Russ Cox &lt;rsc@golang.org&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Bryan Mills &lt;bcmills@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>runtime: revert use of __fork to work around Apple atfork bugs</title>
<updated>2023-01-10T20:34:19Z</updated>
<author>
<name>Russ Cox</name>
<email>rsc@golang.org</email>
</author>
<published>2023-01-04T14:18:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0a0de0fc4241c7531860e3c1a03ab4a4643ec37f'/>
<id>urn:sha1:0a0de0fc4241c7531860e3c1a03ab4a4643ec37f</id>
<content type='text'>
An Apple engineer suggests that since __fork is not public API,
it would be better to use a different fix. With the benefit of source code,
they suggest using xpc_date_create_from_current instead of
xpc_atfork_child. The latter sets some flags that disable certain
functionality for the remainder of the process lifetime (expecting exec),
while the former should do the necessary setup.

Reverting the __fork fix in order to prepare a clean fix based
on CL 451735 using xpc_date_create_from_current.

This reverts commit c61d322d5f9e3fcffa4c523892af432dca030c12.

Change-Id: I2da293ff537237ffd2d40ad756d827c95c84635b
Reviewed-on: https://go-review.googlesource.com/c/go/+/460475
Auto-Submit: Russ Cox &lt;rsc@golang.org&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Run-TryBot: Russ Cox &lt;rsc@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
</content>
</entry>
<entry>
<title>os/exec: avoid leaking an exec.Cmd in TestWaitInterrupt</title>
<updated>2023-01-10T17:59:34Z</updated>
<author>
<name>Bryan C. Mills</name>
<email>bcmills@google.com</email>
</author>
<published>2023-01-10T16:29:25Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=82f09b75ca181a6be0e594e1917e4d3d91934b27'/>
<id>urn:sha1:82f09b75ca181a6be0e594e1917e4d3d91934b27</id>
<content type='text'>
In CL 436655 I added a GODEBUG setting to this test process to verify
that Wait is eventually called for every exec.Cmd before it becomes
unreachable. However, the cmdHang test helpers in
TestWaitInterrupt/Exit-hang and TestWaitInterrupt/SIGKILL-hang
intentially leak a subprocess in order to simulate a leaky third-party
program, as Go users might encounter in practical use.

To avoid tripping over the leak check, we call Wait on the leaked
subprocess in a background goroutine. Since we expect the process
running cmdHang to exit before its subprocess does, the call to Wait
should have no effect beyond suppressing the leak check.

Fixes #57596.
Updates #52580.
Updates #50436.

Change-Id: Ia4b88ea47fc6b605c27ca6d9d7669c874867a900
Reviewed-on: https://go-review.googlesource.com/c/go/+/460998
Run-TryBot: Bryan Mills &lt;bcmills@google.com&gt;
Auto-Submit: Bryan Mills &lt;bcmills@google.com&gt;
Reviewed-by: Ian Lance Taylor &lt;iant@google.com&gt;
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
</content>
</entry>
<entry>
<title>cmd/compile: prevent IsNewObject from taking quadratic time</title>
<updated>2023-01-09T22:50:08Z</updated>
<author>
<name>Keith Randall</name>
<email>khr@golang.org</email>
</author>
<published>2023-01-09T17:49:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=0202ad0b3a2bfddf9f3eafb94e19d5a0fa3d1f31'/>
<id>urn:sha1:0202ad0b3a2bfddf9f3eafb94e19d5a0fa3d1f31</id>
<content type='text'>
As part of IsNewObject, we need to go from the SelectN[0] use of
a call to the SelectN[1] use of a call. The current code does this
by just looking through the block. If the block is very large,
this ends up taking quadratic time.

Instead, prepopulate a map from call -&gt; SelectN[1] user of that call.
That lets us find the SelectN[1] user in constant time.

Fixes #57657

Change-Id: Ie2e0b660af5c080314f4f17ba2838510a1147f9e
Reviewed-on: https://go-review.googlesource.com/c/go/+/461080
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Keith Randall &lt;khr@google.com&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Run-TryBot: Keith Randall &lt;khr@golang.org&gt;
Reviewed-by: Cuong Manh Le &lt;cuong.manhle.vn@gmail.com&gt;
</content>
</entry>
<entry>
<title>cmd/compile/internal/pgo: add hint to missing start_line error</title>
<updated>2023-01-09T21:50:54Z</updated>
<author>
<name>Michael Pratt</name>
<email>mpratt@google.com</email>
</author>
<published>2023-01-09T18:59:54Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/go/commit/?id=64519baf3802f96a813f3f35e87aefa30a5f5f73'/>
<id>urn:sha1:64519baf3802f96a813f3f35e87aefa30a5f5f73</id>
<content type='text'>
Profiles only began adding Function.start_line in 1.20. If it is
missing, add a hint to the error message that they may need to profile a
build of the application built with a newer version of the toolchain.

Technically profiles are not required to come from Go itself (e.g., they
could be converted from perf), but in practice they most likely are.

Fixes #57674.

Change-Id: I87eca126d3fed0cff94bbb8dd748bd4652f88b12
Reviewed-on: https://go-review.googlesource.com/c/go/+/461195
TryBot-Result: Gopher Robot &lt;gobot@golang.org&gt;
Reviewed-by: Cherry Mui &lt;cherryyz@google.com&gt;
Run-TryBot: Michael Pratt &lt;mpratt@google.com&gt;
</content>
</entry>
</feed>
