]> Cypherpunks repositories - gostls13.git/log
gostls13.git
5 years ago[dev.boringcrypto] all: merge master into dev.boringcrypto
Filippo Valsorda [Thu, 27 Jun 2019 22:48:02 +0000 (18:48 -0400)]
[dev.boringcrypto] all: merge master into dev.boringcrypto

Change-Id: Ic1d89215bb3e37a722d3d3bc7698edea940a83d9

5 years agocrypto/tls: disable RSA-PSS in TLS 1.2 again
Filippo Valsorda [Thu, 13 Jun 2019 22:33:33 +0000 (18:33 -0400)]
crypto/tls: disable RSA-PSS in TLS 1.2 again

Signing with RSA-PSS can uncover faulty crypto.Signer implementations,
and it can fail for (broken) small keys. We'll have to take that
breakage eventually, but it would be nice for it to be opt-out at first.

TLS 1.3 requires RSA-PSS and is opt-out in Go 1.13. Instead of making a
TLS 1.3 opt-out influence a TLS 1.2 behavior, let's wait to add RSA-PSS
to TLS 1.2 until TLS 1.3 is on without opt-out.

Note that since the Client Hello is sent before a protocol version is
selected, we have to advertise RSA-PSS there to support TLS 1.3.
That means that we still support RSA-PSS on the client in TLS 1.2 for
verifying server certificates, which is fine, as all issues arise on the
signing side. We have to be careful not to pick (or consider available)
RSA-PSS on the client for client certificates, though.

We'd expect tests to change only in TLS 1.2:

    * the server won't pick PSS to sign the key exchange
      (Server-TLSv12-* w/ RSA, TestHandshakeServerRSAPSS);
    * the server won't advertise PSS in CertificateRequest
      (Server-TLSv12-ClientAuthRequested*, TestClientAuth);
    * and the client won't pick PSS for its CertificateVerify
      (Client-TLSv12-ClientCert-RSA-*, TestHandshakeClientCertRSAPSS,
      Client-TLSv12-Renegotiate* because "R" requests a client cert).

Client-TLSv13-ClientCert-RSA-RSAPSS was updated because of a fix in the test.

This effectively reverts 88343530720a52c96b21f2bd5488c8fb607605d7.

Testing was made more complex by the undocumented semantics of OpenSSL's
-[client_]sigalgs (see openssl/openssl#9172).

Updates #32425

Change-Id: Iaddeb2df1f5c75cd090cc8321df2ac8e8e7db349
Reviewed-on: https://go-review.googlesource.com/c/go/+/182339
Reviewed-by: Adam Langley <agl@golang.org>
5 years agodoc/go1.13: expand ports, add skeleton language changes section
Austin Clements [Tue, 18 Jun 2019 21:42:44 +0000 (17:42 -0400)]
doc/go1.13: expand ports, add skeleton language changes section

Change-Id: I6338bba2a86fb27421f91203a04b39830bae1e52
Reviewed-on: https://go-review.googlesource.com/c/go/+/182800
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agocmd/link: macos: set initial protection of 0 for __DWARF segment
Than McIntosh [Wed, 19 Jun 2019 17:33:33 +0000 (13:33 -0400)]
cmd/link: macos: set initial protection of 0 for __DWARF segment

For later versions of MacOS, the dynamic loader is more picky about
enforcing restrictions on __DWARF MachO load commands/segments,
triggering aborts of the form

  dyld: malformed mach-o image: segment __DWARF has vmsize < filesize

for Go programs that use cgo on Darwin. The error is being triggered
because the Go linker is setting "vmsize" in the DWARF segment entry
to zero as a way to signal that the DWARF doesn't need to be mapped
into memory at runtime (which we need to continue to do).

This patch changes the initial protection on the __DWARF segment to
zero, which dyld seems to be happy with (this is used for other similar
non-loadable sections such as __LLVM).

Fixes #32673

Change-Id: I9a73449c6d26c172f3d70361719943af381f37e6
Reviewed-on: https://go-review.googlesource.com/c/go/+/182958
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
5 years agocmd/compile: correct comments of gc.Val fields
LE Manh Cuong [Mon, 17 Jun 2019 18:14:22 +0000 (01:14 +0700)]
cmd/compile: correct comments of gc.Val fields

Refer to Val.Ctype method instead of non-existed n.ValCtype one.

Change-Id: Ie0fbcae87d9f4f97632865676309d98e0b5138c4
Reviewed-on: https://go-review.googlesource.com/c/go/+/182561
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
5 years agodoc/go1.13: add release notes for language changes
Robert Griesemer [Wed, 19 Jun 2019 00:40:09 +0000 (17:40 -0700)]
doc/go1.13: add release notes for language changes

Change-Id: I17b156e77f279e1387ad27ab0e41ae8f50c9a325
Reviewed-on: https://go-review.googlesource.com/c/go/+/182857
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
5 years agocmd/link: fix stale link to MachO file format reference in comment
Than McIntosh [Wed, 19 Jun 2019 15:41:54 +0000 (11:41 -0400)]
cmd/link: fix stale link to MachO file format reference in comment

Fix a stale reference to Apple's Mach-O file format reference in the
header comment.

Change-Id: I5f120fd5bf31ee0b8b29a33879305abb31a7913d
Reviewed-on: https://go-review.googlesource.com/c/go/+/182957
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agocmd/go/internal/modfetch: re-resolve commit hashes in readDiskStat
Bryan C. Mills [Wed, 12 Jun 2019 22:07:32 +0000 (18:07 -0400)]
cmd/go/internal/modfetch: re-resolve commit hashes in readDiskStat

Previously, when we resolved a commit hash (not a complete version),
we always checked the contents of the module cache for any
pseudo-version matching that commit.

However, there are many possible names for a given commit. Generally
the semantically-highest valid name is the best, and that may change
over time as new tags are added, so if we are able to fetch a better
name from upstream we should do so. Otherwise, we should fall back to
the highest appropriate name found in the cache.

Fixes #27171
Updates #27173

Change-Id: Ib5c7d99eb463af84674e969813039cbbee7e395b
Reviewed-on: https://go-review.googlesource.com/c/go/+/182178
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Reviewed-by: roger peppe <rogpeppe@gmail.com>
5 years agomath: add examples for Log, Log2, Mod, and Abs
Michael Brandenburg [Wed, 19 Jun 2019 05:16:05 +0000 (22:16 -0700)]
math: add examples for Log, Log2, Mod, and Abs

Change-Id: I5f57acd5e970b3fec5f33cfceee179235cbf739f
Reviewed-on: https://go-review.googlesource.com/c/go/+/182877
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agonet/http: fix Server.IdleTimeout and Server.ReadHeaderTimeout docs
Raghavendra Nagaraj [Tue, 18 Jun 2019 08:30:24 +0000 (08:30 +0000)]
net/http: fix Server.IdleTimeout and Server.ReadHeaderTimeout docs

CL 46434 changed the doc for Server.IdleTimeout to include
falling back to Server.ReadHeaderTimeout if both
Server.IdleTimeout and Server.ReadTimeout are zero.
However, we explicitly set the ReadDeadlines firstly based
off Server.IdleTimeout or Server.ReadTimeout before attempting
to read the next request, thus the current doc is incorrect.

This CL reverts CL 46434 and also updates the doc for
Server.ReadHeaderTimeout to documenting falling back
to Server.ReadTimeout, if the former is zero, otherwise
there is no timeout.

Fixes #32053

Change-Id: I43dd0252d1bcee6c29a8529abd84c84a49b2fba9
GitHub-Last-Rev: e1cdb599772476e0b52d9d2374c3ea3893844eb4
GitHub-Pull-Request: golang/go#32164
Reviewed-on: https://go-review.googlesource.com/c/go/+/178337
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
5 years agodoc/go1.13: add crypto-related release notes
Filippo Valsorda [Mon, 17 Jun 2019 22:28:27 +0000 (18:28 -0400)]
doc/go1.13: add crypto-related release notes

Change-Id: I05d4ff3d3a31f56c9ceebdaceb39535a1351b26a
Reviewed-on: https://go-review.googlesource.com/c/go/+/182701
Reviewed-by: Andrew Bonventre <andybons@golang.org>
5 years agocmd/go: fix sumdb test failure with misbehaving DNS server
Jay Conrod [Tue, 18 Jun 2019 19:31:18 +0000 (15:31 -0400)]
cmd/go: fix sumdb test failure with misbehaving DNS server

Broadened the regular expression used to test error messages for
failing to connect to "localhost.localdev/sumdb". Some DNS servers
resolve unknown domains like "localhost.localdev" to real IP addresses
to serve ads. We may get a variety of error messages.

Fixes #31779

Change-Id: Ib389c633c9a9f70f8e89bbcba5282a375da4e708
Reviewed-on: https://go-review.googlesource.com/c/go/+/182799
Run-TryBot: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agodoc/go1.13: add release notes for the net package
Andrew [Mon, 17 Jun 2019 20:20:53 +0000 (16:20 -0400)]
doc/go1.13: add release notes for the net package

Change-Id: I54dc8afc33d6f8946d2c79b0339118fa3710a688
Reviewed-on: https://go-review.googlesource.com/c/go/+/182618
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc/go1.13: runtime release notes, some compiler release notes
Austin Clements [Fri, 14 Jun 2019 19:02:35 +0000 (15:02 -0400)]
doc/go1.13: runtime release notes, some compiler release notes

Change-Id: Icc5083a3de0c6b737bfc20b573ed785651910148
Reviewed-on: https://go-review.googlesource.com/c/go/+/182461
Reviewed-by: Andrew Bonventre <andybons@golang.org>
5 years agoreflect,doc: use "the" instead of "a" in IsZero docs
Josh Bleecher Snyder [Mon, 17 Jun 2019 19:57:40 +0000 (12:57 -0700)]
reflect,doc: use "the" instead of "a" in IsZero docs

There is a subtle distinction between a value
*being* the zero value vs being *equal to* the zero value.
This was discussed at length in #31450.

Using "a zero value" in the docs suggests that there may
be more than zero value. That is possible on the "equal to
zero value" reading, but not the "is zero" reading that we
selected for the semantics of IsZero.

This change attempts to prevent any confusion on this front by
switching to "the zero value" in the documentation.

And while we're here, eliminate a double-space.
(Darn macbook keyboards.)

Change-Id: Iaa02ba297438793f5a90be9919a4d53baef92f8e
Reviewed-on: https://go-review.googlesource.com/c/go/+/182617
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agodoc: remove a Google+ link since it doesn't exist anymore
Steve Mynott [Mon, 17 Jun 2019 21:05:23 +0000 (21:05 +0000)]
doc: remove a Google+ link since it doesn't exist anymore

Change-Id: I692229a5597a6114a7f4261f7b59c58bf20f3e2b
GitHub-Last-Rev: ab173354caa63345d38a625705aea0c660cfdb9b
GitHub-Pull-Request: golang/go#32660
Reviewed-on: https://go-review.googlesource.com/c/go/+/182677
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agocmd/go/internal/modload: query correct "latest" version through proxy
Jay Conrod [Mon, 17 Jun 2019 21:03:55 +0000 (17:03 -0400)]
cmd/go/internal/modload: query correct "latest" version through proxy

This fixes a regression introduced in CL 180337. When we query a
module at "latest" that has no tagged versions, we tried to use ""
as the version because we used info.Name instead of info.Version. This
only happened when using a proxy: in direct mode, info.Name is set to
the underlying VCS revision, which is fine.

Also: serve "/mod/path/@latest" through our test proxy.
Previously, we served a 404, which made this bug hard to detect.

Fixes #32636

Change-Id: I5c60975656297f862cad66675170e819685ebd39
Reviewed-on: https://go-review.googlesource.com/c/go/+/182697
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agohtml/template, text/template: document glob semantics
Andrew Gerrand [Fri, 31 May 2019 11:25:04 +0000 (21:25 +1000)]
html/template, text/template: document glob semantics

This change updates the doc comments of the various ParseGlob functions
and methods to state that they use the semantics of filepath.Match when
matching the file name pattern.

Fixes #30608

Change-Id: Iee4bdc0a2a2f8647d1f9a910e4d72a5de9204d11
Reviewed-on: https://go-review.googlesource.com/c/go/+/179739
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
5 years agodoc: update 1.13 release notes
Keith Randall [Mon, 10 Jun 2019 19:51:51 +0000 (12:51 -0700)]
doc: update 1.13 release notes

Write release notes for a few reflect, runtime, and syscall changes.

The init randomization has been reverted.

Change-Id: Idae481ca015e325eb7302abaa15b2792312f4c32
Reviewed-on: https://go-review.googlesource.com/c/go/+/181577
Reviewed-by: Austin Clements <austin@google.com>
5 years agohtml/template: handle nil Error values in context.String
Samuel Tan [Tue, 11 Jun 2019 05:18:56 +0000 (22:18 -0700)]
html/template: handle nil Error values in context.String

Add a special case to print a generic nil error when context.err is
nil.

Previously, this case was unchecked, leading to a call to (*Error).Error
with a nil receiver, which was triggering a nil pointer access. However,
this bug was masked by the panic-recovery code in package fmt.

I tested this change by running `dlv test` in src/html/template, running
the `continue` command, and verifying that no "bad access" errors are
returned.

Fixes #28854

Change-Id: I0b637b943de003d9efc294f6f1e49b793668d037
Reviewed-on: https://go-review.googlesource.com/c/go/+/181579
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
5 years agocmd/go: document GOBIN and 'go install' locations
Jay Conrod [Thu, 13 Jun 2019 23:56:37 +0000 (19:56 -0400)]
cmd/go: document GOBIN and 'go install' locations

* In doc/install-source.html, clarify the meaning of $GOBIN and
  describe where executables from the Go distribution are
  installed. Also describe $GOPATH, since it provides a default value
  for $GOBIN and may conflict with $GOROOT.
* Add more detail to 'go help install' as well.

Fixes #31576

Change-Id: Ib8a8c21677c3aa0ebef97a3b587b6f8fe338b80e
Reviewed-on: https://go-review.googlesource.com/c/go/+/182341
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agosyscall: accept permission errors in TestExecPtrace
Elias Naur [Sun, 16 Jun 2019 15:05:11 +0000 (17:05 +0200)]
syscall: accept permission errors in TestExecPtrace

Fixes the test on the linux-arm64-packet builder.

Change-Id: Icaf9edf9542f4f6e3791ca43298a1e7051eaa576
Reviewed-on: https://go-review.googlesource.com/c/go/+/182378
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agosyscall: disable ptrace on iOS
Elias Naur [Thu, 13 Jun 2019 21:40:00 +0000 (23:40 +0200)]
syscall: disable ptrace on iOS

It is forbidden by App Store.

Fixes #31628

Change-Id: Ie6d14a524ee55b57af8db685f3a79f474733add5
Reviewed-on: https://go-review.googlesource.com/c/go/+/182297
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agomisc/ios: add missing CGO_ENABLED=1 for running standalone tests
Elias Naur [Fri, 14 Jun 2019 08:23:06 +0000 (10:23 +0200)]
misc/ios: add missing CGO_ENABLED=1 for running standalone tests

Change-Id: Icfd5b9d1ca757081af7885189ae7094fa1b3d8f1
Reviewed-on: https://go-review.googlesource.com/c/go/+/182377
Run-TryBot: Elias Naur <mail@eliasnaur.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agoruntime: use dispatch semaphores on Darwin
Ian Lance Taylor [Thu, 13 Jun 2019 19:49:03 +0000 (12:49 -0700)]
runtime: use dispatch semaphores on Darwin

Changes Darwin semaphore support from using pthread mutexes and
condition variables to using dispatch semaphores. Signaling a dispatch
semaphore is async-signal-safe.

Fixes #31264

Change-Id: If0ce47623501db13e3804b14ace5f4d8eaef461e
Reviewed-on: https://go-review.googlesource.com/c/go/+/182258
Reviewed-by: Elias Naur <mail@eliasnaur.com>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agodoc: release notes for syscall and syscall/js
Katie Hockman [Wed, 12 Jun 2019 17:54:50 +0000 (13:54 -0400)]
doc: release notes for syscall and syscall/js

Change-Id: I0ee4b4f0211cd12803ab33976669350d9dd615f3
Reviewed-on: https://go-review.googlesource.com/c/go/+/181944
Reviewed-by: Andrew Bonventre <andybons@golang.org>
5 years agodoc: add release notes for log
Julie [Wed, 12 Jun 2019 17:38:45 +0000 (13:38 -0400)]
doc: add release notes for log

Change-Id: Ifd330053094c172b7dcd9086da173289efc7f9b8
Reviewed-on: https://go-review.googlesource.com/c/go/+/181942
Reviewed-by: Katie Hockman <katie@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
5 years agocmd/go: avoid accidental downgrades in 'go get' with latest and patch
Jay Conrod [Fri, 31 May 2019 22:56:28 +0000 (18:56 -0400)]
cmd/go: avoid accidental downgrades in 'go get' with latest and patch

Currently, 'go get -u' and 'go get -u=patch' avoid accidentally
downgrading modules by preventing upgrades in two cases:

1) If the current version is a prerelease that is semantically later
   than the "latest" or "patch" version.
2) If the current version is a pseudoversion that is chronologically
   newer than the "latest" or "patch" version.

With this change, 'go get m@latest' and 'go get m@patch' prevent
downgrades using the same checks.

Also: 'go get m@patch' now works if m is a module path but not a
package path (i.e., there is no package in the module root directory).

Fixes #30634
Fixes #32537

Change-Id: I916630c385b5f3ba7c13e0d65ba08f73a1a67829
Reviewed-on: https://go-review.googlesource.com/c/go/+/180337
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc: add release notes for context
Julie [Wed, 12 Jun 2019 16:33:19 +0000 (12:33 -0400)]
doc: add release notes for context

Change-Id: I4c52d9bcf941810dbdfdd39e7f339c8283d6bcc7
Reviewed-on: https://go-review.googlesource.com/c/go/+/181937
Reviewed-by: Katie Hockman <katie@golang.org>
5 years ago[dev.boringcrypto] misc/boring: add go1.12.6b4 and go1.11.11b4 releases
Filippo Valsorda [Thu, 13 Jun 2019 22:47:33 +0000 (18:47 -0400)]
[dev.boringcrypto] misc/boring: add go1.12.6b4 and go1.11.11b4 releases

Change-Id: I90b79a5519f92bb56370e11fd47c06dabaf845e8
Reviewed-on: https://go-review.googlesource.com/c/go/+/182338
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
5 years agovendor: go get -u golang.org/x/crypto && go mod vendor
Lynn Boger [Tue, 11 Jun 2019 19:21:51 +0000 (15:21 -0400)]
vendor: go get -u golang.org/x/crypto && go mod vendor

Pick up asm ppc64le implementations for internal/chacha20 and
poly1305.

Change-Id: Ide6fc91da3b10d1c3d9e8e00957c52be06a3cf93
Reviewed-on: https://go-review.googlesource.com/c/go/+/181877
Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
5 years agodoc: clarify default go command behavior in the release notes
Katie Hockman [Wed, 12 Jun 2019 21:50:55 +0000 (17:50 -0400)]
doc: clarify default go command behavior in the release notes

Change-Id: I2a0bd295ad9737581d149a7165191b878ae2acda
Reviewed-on: https://go-review.googlesource.com/c/go/+/181880
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodatabase/sql: add support for decimal interface
Daniel Theophanes [Fri, 26 Apr 2019 19:49:23 +0000 (12:49 -0700)]
database/sql: add support for decimal interface

Add support for scanning decimal types into values. If the dest
supports the decimal composer interface and the src supports
the decimal decomposer, set the value of the decimal when Scanning.

Add support for sending decimal decomposer interface values
as parameters.

For #30870

Change-Id: Ic5dbf9069df8d56405852b17542a9188d55c2947
Reviewed-on: https://go-review.googlesource.com/c/go/+/174181
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodatabase/sql: add Conn.Raw to expose the driver Conn safely
Daniel Theophanes [Fri, 26 Apr 2019 21:09:07 +0000 (14:09 -0700)]
database/sql: add Conn.Raw to expose the driver Conn safely

Exposing the underlying driver conn will allow the use of the
standard connection pool while still able to run special function
directly on the driver.

Fixes #29835

Change-Id: Ib6d3b9535e730f008916805ae3bf76e4494c88f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/174182
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agocmd/go: factor the I/O-retry logic out of renameio
Bryan C. Mills [Mon, 10 Jun 2019 16:01:49 +0000 (12:01 -0400)]
cmd/go: factor the I/O-retry logic out of renameio

Factor the try-on-failure variants are now in the package
cmd/go/internal/robustio.

Add to them a RemoveAll variant using the same retry loop,
and use it to attempt to address the observed flakes in
TestLinkXImportPathEscape.

Fixes #19491
Updates #25965
Updates #28387
Updates #32188

Change-Id: I9db1a0c7537b8aaadccab1b9eca734595668ba29
Reviewed-on: https://go-review.googlesource.com/c/go/+/181541
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
5 years agocmd/go: add '--' before repository names when invoking vcs tools
Jay Conrod [Thu, 6 Jun 2019 21:00:27 +0000 (17:00 -0400)]
cmd/go: add '--' before repository names when invoking vcs tools

Also, in 'go get' in GOPATH mode, report an error for package paths
that start with '-'.

Change-Id: Ic2575381aa2d093ba15c53b893bf2eaded8b6066
Reviewed-on: https://go-review.googlesource.com/c/go/+/181237
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc: add release notes for reflect
Julie [Wed, 12 Jun 2019 17:54:51 +0000 (13:54 -0400)]
doc: add release notes for reflect

Change-Id: I71a6816f54f8ad0f8531bb3f9de552fd136a0ed4
Reviewed-on: https://go-review.googlesource.com/c/go/+/181943
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodoc: release notes for html/template
Julie [Wed, 12 Jun 2019 17:11:03 +0000 (13:11 -0400)]
doc: release notes for html/template

Change-Id: Ifdc3c5b840e6833f14c8e52948e45d5faa5a0615
Reviewed-on: https://go-review.googlesource.com/c/go/+/181940
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodatabase/sql/driver: document Valuer must not panic
Daniel Theophanes [Fri, 5 Apr 2019 17:33:43 +0000 (10:33 -0700)]
database/sql/driver: document Valuer must not panic

While it is possible for the connection pool to guard against panics
on every valuer read, this seems like a high cost to be added,
in both code complexity and possible runtime performance.

Most uses of the Valuer will be trivial, like returning
a struct field. Optimize for that case. If sometime may panic the
valuer should itself use recover and return an error.

Fixes #26332

Change-Id: Iad18780b8028f669f5a7841b74a5384d62fb6a7e
Reviewed-on: https://go-review.googlesource.com/c/go/+/170700
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodoc: mention os.UserConfigDir in release notes
Dmitri Shuralyov [Wed, 12 Jun 2019 18:59:23 +0000 (14:59 -0400)]
doc: mention os.UserConfigDir in release notes

This change makes the release notes for Go 1.13 more complete
by mentioning a new function in the os package.

Change-Id: I0d637fd70ff6d14782bbfb7c13985a0f83b19d6d
Reviewed-on: https://go-review.googlesource.com/c/go/+/181945
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodoc: release notes for text/scanner and text/template
Katie Hockman [Wed, 12 Jun 2019 22:04:00 +0000 (18:04 -0400)]
doc: release notes for text/scanner and text/template

Change-Id: Ib5417cc48959b03befb1579da3281415a11ede9f
Reviewed-on: https://go-review.googlesource.com/c/go/+/181879
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
5 years agocmd/go: add GOPRIVATE environment variable
Russ Cox [Tue, 11 Jun 2019 17:53:12 +0000 (13:53 -0400)]
cmd/go: add GOPRIVATE environment variable

It is too confusing to have to set GONOSUMDB and GONOPROXY
in common use cases, but one cannot be guaranteed to be a
subset of the other.

This CL adds GOPRIVATE, which takes the same kind of pattern list
but is defined as "these patterns are private (non-public) modules".
Today the implication is that GOPRIVATE is the default setting for
GONOSUMDB and GONOPROXY. If there are other accommodations
to make for private packages in the future or in other tools,
having this clear statement of intent will let us do that.
(For example maybe an IDE integration would hyperlink an import
path to godoc.org; consulting GOPRIVATE would be a reasonable
way to decide not to do that for certain imports. In contrast,
consulting GONOPROXY or GONOSUMDB clearly would not.)

Fixes #32184.

Change-Id: If54c12d353c7a0a5c0e0273764140cce3c154a02
Reviewed-on: https://go-review.googlesource.com/c/go/+/181719
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agocmd/compile: fix range analysis of small signed integers
Matthew Dempsky [Wed, 12 Jun 2019 02:52:58 +0000 (19:52 -0700)]
cmd/compile: fix range analysis of small signed integers

For int8, int16, and int32, comparing their unsigned value to MaxInt64
to determine non-negativity doesn't make sense, because they have
negative values whose unsigned representation is smaller than that.
Fix is simply to compare with the appropriate upper bound based on the
value type's size.

Fixes #32560.

Change-Id: Ie7afad7a56af92bd890ba5ff33c86d1df06cfd9a
Reviewed-on: https://go-review.googlesource.com/c/go/+/181797
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agodoc: add release notes for database/sql
Julie [Wed, 12 Jun 2019 16:51:22 +0000 (12:51 -0400)]
doc: add release notes for database/sql

Change-Id: I032a3342c3ac899a39d357420b981b6f281518f6
Reviewed-on: https://go-review.googlesource.com/c/go/+/181939
Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
5 years agodoc: add release notes for sync
Katie Hockman [Tue, 11 Jun 2019 19:12:54 +0000 (15:12 -0400)]
doc: add release notes for sync

Change-Id: I49b09349a632a6b6219c85638d9cb6774c0c210a
Reviewed-on: https://go-review.googlesource.com/c/go/+/181721
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc: add release notes for the bytes, strings, and time packages
Andrew Bonventre [Tue, 11 Jun 2019 22:09:10 +0000 (18:09 -0400)]
doc: add release notes for the bytes, strings, and time packages

Change-Id: Idb5bf2a61bff635e3ebd926bdeacf943578ac874
Reviewed-on: https://go-review.googlesource.com/c/go/+/181681
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agocmd/go: include -errorsas in go test vet checks
Jonathan Amsterdam [Sat, 1 Jun 2019 21:43:09 +0000 (17:43 -0400)]
cmd/go: include -errorsas in go test vet checks

Make "go test" run the new errorsas vet check by default.

Fixes #31213.

Change-Id: I5c93c000874ffe1c0b6d647bf10de803f414c5c1
Reviewed-on: https://go-review.googlesource.com/c/go/+/179977
Run-TryBot: Jonathan Amsterdam <jba@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Matloob <matloob@golang.org>
5 years agoerrors: clarify doc for As
Jonathan Amsterdam [Sat, 8 Jun 2019 11:43:40 +0000 (07:43 -0400)]
errors: clarify doc for As

Change-Id: I389d140e8fd2849e4dc438246add47819f6b25a3
Reviewed-on: https://go-review.googlesource.com/c/go/+/181300
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agocmd/go: allow GOPROXY to elide the "https://" prefix
Bryan C. Mills [Thu, 6 Jun 2019 18:43:28 +0000 (14:43 -0400)]
cmd/go: allow GOPROXY to elide the "https://" prefix

Fixes #32191

Change-Id: I6eebe1d4975e904c906e6b839cd6cab9447cbb34
Reviewed-on: https://go-review.googlesource.com/c/go/+/181019
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
5 years agodoc: add release notes describing the default mirror and sumdb
Katie Hockman [Tue, 11 Jun 2019 19:12:54 +0000 (15:12 -0400)]
doc: add release notes describing the default mirror and sumdb

Change-Id: I4923f0726ae0261a7c7b0f85e7433ae0f605c123
Reviewed-on: https://go-review.googlesource.com/c/go/+/181738
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agocmd/vet: include the errors.As check from upstream x/tools
Bryan C. Mills [Tue, 11 Jun 2019 15:49:09 +0000 (11:49 -0400)]
cmd/vet: include the errors.As check from upstream x/tools

This change revendors golang.org/x/tools to include the check and
modifies cmd/vet to add it to the command.

CL 179977 will enable the check by default for 'go test'.

Commands run (starting in GOROOT/src):
cd cmd
emacs vet/main.go
go get -u=patch golang.org/x/tools/go/analysis/passes/errorsas@latest
go mod tidy
go mod vendor
cd ..
./make.bash
go test all

Updates #31213

Change-Id: Ic2ba9bd2d31c4c5fd9e7c42ca14e8dc38520c93b
Reviewed-on: https://go-review.googlesource.com/c/go/+/181717
Reviewed-by: Jonathan Amsterdam <jba@google.com>
5 years agoerrors: improve As tests
Jonathan Amsterdam [Sat, 8 Jun 2019 11:32:13 +0000 (07:32 -0400)]
errors: improve As tests

Check the value of target after As returns true.

Change-Id: I76a2b25fe825ee1dbb5f39f8f0b211c55bd25a4f
Reviewed-on: https://go-review.googlesource.com/c/go/+/181299
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc: add release notes for os and os/exec
Andrew Bonventre [Mon, 10 Jun 2019 21:37:34 +0000 (17:37 -0400)]
doc: add release notes for os and os/exec

Change-Id: I34fd45ee252474c12f2e9c8d9b1a75b9eabb57f2
Reviewed-on: https://go-review.googlesource.com/c/go/+/181549
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agodoc: document Go 1.12.6
Dmitri Shuralyov [Mon, 10 Jun 2019 22:02:43 +0000 (18:02 -0400)]
doc: document Go 1.12.6

Change-Id: I8ae00d2392c20c627d58cf7e79015e982b971802
Reviewed-on: https://go-review.googlesource.com/c/go/+/181551
Reviewed-by: Filippo Valsorda <filippo@golang.org>
5 years agodoc: document Go 1.11.11
Dmitri Shuralyov [Mon, 10 Jun 2019 22:02:33 +0000 (18:02 -0400)]
doc: document Go 1.11.11

Change-Id: I1c3e3305dfee4545a6caedd48243770ab3b28277
Reviewed-on: https://go-review.googlesource.com/c/go/+/181550
Reviewed-by: Filippo Valsorda <filippo@golang.org>
5 years agocmd/go: in TestScript, set $GOEXE instead of $exe
Bryan C. Mills [Mon, 10 Jun 2019 16:31:13 +0000 (12:31 -0400)]
cmd/go: in TestScript, set $GOEXE instead of $exe

$GOEXE exists and is documented in 'go env', so $exe is redundant and
a bit confusing. Notably, mod_modinfo.txt already assumes that GOEXE
is set (even though it isn't), and thus fails on Windows.

After this CL, `go test cmd/go/...` passes on a windows-amd64-2016
builder. However, given that the $PATH on the builder is very minimal
(#32430) and network access is limited, tests that rely on binaries
(such as 'git') or external networking may still be broken.

Updates #25300

Change-Id: I9d80f2a0fbaa8bc35fa2205b6898aeccecda4e94
Reviewed-on: https://go-review.googlesource.com/c/go/+/181542
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodoc, net/http: add release notes for net/http and fix doc comments
Andrew Bonventre [Mon, 10 Jun 2019 17:44:56 +0000 (13:44 -0400)]
doc, net/http: add release notes for net/http and fix doc comments

Change-Id: I684e3522e387b2d96d5cfb2878d2f77bf4558443
Reviewed-on: https://go-review.googlesource.com/c/go/+/181545
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agocmd/go/internal/load: remove unused hasSubdir function
Bryan C. Mills [Mon, 10 Jun 2019 19:35:21 +0000 (15:35 -0400)]
cmd/go/internal/load: remove unused hasSubdir function

No references to this function remain; remove it to avoid confusion
and reduce build overhead.

The last reference was removed in CL 167748.

Change-Id: I9d023c5d8904800edd3898fed79aa9f824dfb46a
Reviewed-on: https://go-review.googlesource.com/c/go/+/181548
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
5 years agosyscall: fix freebsd 64-bit test
Keith Randall [Mon, 10 Jun 2019 19:18:44 +0000 (12:18 -0700)]
syscall: fix freebsd 64-bit test

64 bits is 8 bytes. Duh.

Change-Id: I991b359df6241889bdef13152f551af9db6e14c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/181557
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
5 years agocmd/go: in tests, don't assume that the 'git' binary is present
Bryan C. Mills [Mon, 10 Jun 2019 15:04:29 +0000 (11:04 -0400)]
cmd/go: in tests, don't assume that the 'git' binary is present

Add a helper-function to testenv to make these skips more ergonomic.
Also update a few existing skips in cmd/go/... to use it.

Updates #25300

Change-Id: I4205b4fb2b685dfac1cff3c999f954bff7b0f3c1
Reviewed-on: https://go-review.googlesource.com/c/go/+/181538
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agoRevert "Revert "cmd/compile,runtime: allocate defer records on the stack""
Keith Randall [Sat, 8 Jun 2019 17:20:57 +0000 (17:20 +0000)]
Revert "Revert "cmd/compile,runtime: allocate defer records on the stack""

This reverts CL 180761

Reason for revert: Reinstate the stack-allocated defer CL.

There was nothing wrong with the CL proper, but stack allocation of defers exposed two other issues.

Issue #32477: Fix has been submitted as CL 181258.
Issue #32498: Possible fix is CL 181377 (not submitted yet).

Change-Id: I32b3365d5026600069291b068bbba6cb15295eb3
Reviewed-on: https://go-review.googlesource.com/c/go/+/181378
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agosyscall: fix Getdirentries on 32-bit freebsd 12
Keith Randall [Sat, 8 Jun 2019 16:57:59 +0000 (12:57 -0400)]
syscall: fix Getdirentries on 32-bit freebsd 12

On freebsd 12, the system call for getdirentries writes 64 bits to
*basep, even on 32-bit systems. Accomodate that by providing a uint64
to the system call and copy the base to/from that uint64.
The uint64 seems to be a virtual file offset, so failing if the high
bits are not zero should be fine for reasonable-sized directories.

Fixes #32498

Change-Id: Ie22c0d301c6091bd20e813432928b24ab95cc314
Reviewed-on: https://go-review.googlesource.com/c/go/+/181377
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agocmd/go/internal/web: support file:// URLs
Bryan C. Mills [Thu, 6 Jun 2019 15:08:37 +0000 (11:08 -0400)]
cmd/go/internal/web: support file:// URLs

Fixes #27698
Fixes #32227

Change-Id: I2416408b3de2f9f1ae1af2911cc327a65d2c0170
Reviewed-on: https://go-review.googlesource.com/c/go/+/181037
Reviewed-by: Jay Conrod <jayconrod@google.com>
5 years ago[dev.boringcrypto] crypto: move crypto/internal/boring imports to reduce merge conflicts
Filippo Valsorda [Fri, 7 Jun 2019 17:48:42 +0000 (13:48 -0400)]
[dev.boringcrypto] crypto: move crypto/internal/boring imports to reduce merge conflicts

As suggested by dmitshur@, move them to their own block so they don't
conflict with changes in the upstream imports.

Change-Id: Id46fb7c766066c406023b0355f4c3c860166f0fe
Reviewed-on: https://go-review.googlesource.com/c/go/+/181277
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
5 years agocmd/go: fix syntax mistake in a testscript file, take 2
Dmitri Shuralyov [Sun, 9 Jun 2019 16:04:23 +0000 (12:04 -0400)]
cmd/go: fix syntax mistake in a testscript file, take 2

This is a followup to CL 181278 and CL 181177.

According to cmd/go/testdata/script/README:

Each line is parsed into a sequence of space-separated command words,
with environment variable expansion and # marking an end-of-line comment.
Adding single quotes around text keeps spaces in that text from being treated
as word separators and also disables environment variable expansion.

We want $HOME to be expanded, so leave it out of the single-quoted
block of text.

I tested this change on macOS, and it makes TestScript/env_write pass.

Fixes #32503

Change-Id: I13621aec82263e5cb6978c13a1ad71d2210a0e42
Reviewed-on: https://go-review.googlesource.com/c/go/+/181418
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agocmd/go: fix syntax mistake in a testscript file
Daniel Martí [Fri, 7 Jun 2019 21:59:40 +0000 (22:59 +0100)]
cmd/go: fix syntax mistake in a testscript file

I didn't realise that the trybots don't include any Mac machines, so I
assumed this test change was fine when submitting CL 181177.

In any case, this is a simple fix. I forgot to add the quotes, as the
new UserConfigDir on Mac includes a space.

Change-Id: I0766b966fc41736e9fc859e37f059a3f12788d7a
Reviewed-on: https://go-review.googlesource.com/c/go/+/181278
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agoos: change UserConfigDir on Darwin to ~/Library/Application Support
Daniel Martí [Fri, 7 Jun 2019 09:39:21 +0000 (10:39 +0100)]
os: change UserConfigDir on Darwin to ~/Library/Application Support

The old code used ~/Library/Preferences, which is documented by
Apple as:

This directory contains app-specific preference files. You
should not create files in this directory yourself. Instead, use
the NSUserDefaults class or CFPreferences API to get and set
preference values for your app.

It looks like we missed everything after the first sentence; it's
definitely not the right choice for files that Go programs and users
should be touching directly.

Instead, use ~/Library/Application Support, which is documented as:

Use this directory to store all app data files except those
associated with the user’s documents. For example, you might use
this directory to store app-created data files, configuration
files, templates, or other fixed or modifiable resources that
are managed by the app. An app might use this directory to store
a modifiable copy of resources contained initially in the app’s
bundle. A game might use this directory to store new levels
purchased by the user and downloaded from a server.

This seems in line with what UserConfigDir is for, so use it.

The documentation quotes above are obtained from the surprisingly long
link below:

https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Fixes #32475.

Change-Id: Ic27a6c92d76a5d7a4d4b8eac5cd8472f67a533a4
Reviewed-on: https://go-review.googlesource.com/c/go/+/181177
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
5 years agocmd/link: fix deferreturn detector
Keith Randall [Fri, 7 Jun 2019 17:22:53 +0000 (13:22 -0400)]
cmd/link: fix deferreturn detector

The logic for detecting deferreturn calls is wrong.

We used to look for a relocation whose symbol is runtime.deferreturn
and has an offset of 0. But on some architectures, the relocation
offset is not zero. These include arm (the offset is 0xebfffffe) and
s390x (the offset is 6).

This ends up setting the deferreturn offset at 0, so we end up using
the entry point live map instead of the deferreturn live map in a
frame which defers and then segfaults.

Instead, use the IsDirectCall helper to find calls.

Fixes #32477
Update #6980

Change-Id: Iecb530a7cf6eabd7233be7d0731ffa78873f3a54
Reviewed-on: https://go-review.googlesource.com/c/go/+/181258
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
5 years agonet/http: support BaseContext & ConnContext for http2 Server
Brad Fitzpatrick [Fri, 7 Jun 2019 17:56:24 +0000 (17:56 +0000)]
net/http: support BaseContext & ConnContext for http2 Server

This is the net/http half of #32476. This supplies the method needed
by the other half in x/net/http2 in the already-submitted CL 181259,
which this CL also bundles in h2_bundle.go.

Thanks to Tom Thorogood (@tmthrgd) for the bug report and test.

Fixes #32476
Updates #30694

Change-Id: I79d2a280e486fbf75d116f6695fd3abb61278765
Reviewed-on: https://go-review.googlesource.com/c/go/+/181260
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agocmd/dist,cmd/compile: remove -allabis mode
Austin Clements [Thu, 6 Jun 2019 21:27:14 +0000 (17:27 -0400)]
cmd/dist,cmd/compile: remove -allabis mode

dist passes the -allabis flag to the compiler to avoid having to
recreate the cross-package ABI logic from cmd/go. However, we removed
that logic from cmd/go in CL 179863 and replaced it with a different
mechanism that doesn't depend on the build system. Hence, passing
-allabis in dist is no longer necessary.

This CL removes -allabis from dist and, since that was the only use of
it, removes support for it from the compiler as well.

Updates #31230.

Change-Id: Ib005db95755a7028f49c885785e72c3970aea4f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/181079
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
5 years agosyscall: refer to Proc.Call documentation for LazyProc.Call on Windows
Matt Layher [Fri, 7 Jun 2019 17:07:32 +0000 (13:07 -0400)]
syscall: refer to Proc.Call documentation for LazyProc.Call on Windows

The documentation comment was duplicated for each of these methods, and
the LazyProc.Call documentation incorrectly mentioned that Call accepts
only 15 arguments, but it actually accepts 18 now.

To prevent further documentation drift, refer the reader to the
documentation for Proc.Call instead of duplicating it for LazyProc.Call.

In addition, note that LazyProc's Addr, Call, and Find methods each
trigger a procedure lookup.

Change-Id: I6756cf7601fba79d1414ff5a5d6eef900aa590e7
Reviewed-on: https://go-review.googlesource.com/c/go/+/181199
Run-TryBot: Matt Layher <mdlayher@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agocmd/go: fix error messages for go mod download in GOPATH mode
Constantin Konstantinidis [Sat, 1 Jun 2019 16:14:04 +0000 (18:14 +0200)]
cmd/go: fix error messages for go mod download in GOPATH mode

Checks if modules are enabled in GOPATH mode.
Error message returned when no version is provided. Relevant tests
updated. Test for GO111MODULE=off added.

Fixes #27783

Change-Id: I12cdaced5fa38a9c49c0ecfed4c479eb86ed061f
Reviewed-on: https://go-review.googlesource.com/c/go/+/179998
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agocmd/go: recommend -d when -m is used
Daniel Martí [Fri, 31 May 2019 09:46:00 +0000 (10:46 +0100)]
cmd/go: recommend -d when -m is used

In #32038, it was decided to remove get's -m, since one former use case
is removed, and the other can be done via -d, as pointed by Russ.

However, a user getting this short error might not realise that they can
switch to -d to skip building packages. Add a short mention to point
them in the right direction.

It's important to note "packages", because -m was a flag that acted on
modules, while -d acts on packages. Simply replacing -m with -d might
not be enough in some cases because of that distinction.

Change-Id: I0947b25c4223bdad3cd0e535848527da8db8a16d
Reviewed-on: https://go-review.googlesource.com/c/go/+/179361
Reviewed-by: Jay Conrod <jayconrod@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agocmd/go/internal/modload: propagate errors from Query in 'list -versions'
Bryan C. Mills [Thu, 6 Jun 2019 18:30:56 +0000 (14:30 -0400)]
cmd/go/internal/modload: propagate errors from Query in 'list -versions'

Fixes #32335

Change-Id: I1cf8645ecc5ba0866d9b3589a18bb500ea17f865
Reviewed-on: https://go-review.googlesource.com/c/go/+/181018
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Jay Conrod <jayconrod@google.com>
5 years agotext/template: clarify the safety of Template.New
Daniel Martí [Tue, 16 Apr 2019 13:13:47 +0000 (22:13 +0900)]
text/template: clarify the safety of Template.New

In particular, the returned template isn't independent from the parent.
For example, it can't be parsed concurrently with other children
templates. Only methods which are explicitly safe for concurrent use,
like Execute, may be used concurrently.

Fixes #30281.

Change-Id: Idc84bf4199c035316cdb83b950fd4a8f2a71cd0c
Reviewed-on: https://go-review.googlesource.com/c/go/+/172297
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Gerrand <adg@golang.org>
5 years agogo/internal/gccgoimporter: update for gofrontend export data changes
Ian Lance Taylor [Fri, 7 Jun 2019 00:19:11 +0000 (17:19 -0700)]
go/internal/gccgoimporter: update for gofrontend export data changes

This recognizes new features that the gofrontend has started emitting
in the export data to support cross-package inlinable functions.

This is a port of CL 180677 and 180758 from the gofrontend repo.

Change-Id: I48af6e71f9d8b04ba874ea0c204d39d1d461f8ad
Reviewed-on: https://go-review.googlesource.com/c/go/+/181118
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
5 years agocmd/vendor: go get -u golang.org/x/tools && go mod vendor
Daniel Martí [Sun, 2 Jun 2019 11:40:06 +0000 (12:40 +0100)]
cmd/vendor: go get -u golang.org/x/tools && go mod vendor

To pick up the structtag vet fix for 1.13.

Fixes #30846.

Change-Id: I5e011a7db1ffb9435793d533097d768f209c18e0
Reviewed-on: https://go-review.googlesource.com/c/go/+/179999
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agoruntime/internal/atomic: remove erroneous ABI wrappers
Austin Clements [Thu, 6 Jun 2019 21:23:19 +0000 (17:23 -0400)]
runtime/internal/atomic: remove erroneous ABI wrappers

CL 179862 introduced go:linkname directives to create ABI wrappers for
Store and Store64 on s390x, but a concurrent change (CL 180439)
replaced the Go definitions of these functions with assembly
definitions. This resulted in conflicting definitions for the ABI0
symbols, which led to a bootstrap linking failure.

Fix this by removing the now-incorrect go:linkname directives for
Store and Store64. This should fix the linux-s390x builders.

Updates #31230.

Change-Id: I8de8c03c23412fc217d428c0018cc56eb2f9996f
Reviewed-on: https://go-review.googlesource.com/c/go/+/181078
Reviewed-by: Bryan C. Mills <bcmills@google.com>
5 years agoruntime/internal/atomic: export more ABI0 wrappers
Austin Clements [Thu, 6 Jun 2019 21:08:07 +0000 (17:08 -0400)]
runtime/internal/atomic: export more ABI0 wrappers

Somehow I missed these two functions in CL 179863. This should fix the
linux-arm builders.

Updates #31230.

Change-Id: I3f8bef3fac331b505a55c0850b0fbc799b7c06c5
Reviewed-on: https://go-review.googlesource.com/c/go/+/181077
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agonet: remove non-cgo macOS resolver code
Russ Cox [Wed, 5 Jun 2019 23:59:58 +0000 (19:59 -0400)]
net: remove non-cgo macOS resolver code

The built-in Go resolver works significantly better.
In particular, the use of res_search does not support
CNAME or PTR queries and may not even be thread-safe.

This CL is essentially a revert of CL 166297 plus fixes,
including CL 180842.

See CL 180842 for additional notes about problems
with this approach.

Fixes #31705.

Change-Id: I0a30a0de2fbd04f6c461520fd34378c84aadf66c
Reviewed-on: https://go-review.googlesource.com/c/go/+/180843
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agonet: fix non-cgo macOS resolver code
Russ Cox [Wed, 5 Jun 2019 16:35:29 +0000 (12:35 -0400)]
net: fix non-cgo macOS resolver code

This code was added in April in CL 166297, for #12524.
This CL fixes the following problems in the code:

 - The test for failure in the assembly stubs checked for
   64-bit -1 instead of 32-bit -1 to decide to fetch errno.

 - These C routines (res_init and res_search) don't set errno anyway,
   so the Go code using errno to decide success is incorrect.
   (The routines set h_errno, which is a racy global variable
   that can't safely be consulted, storing values in a different
   error space.)

 - The Go call passed res_search a non-NUL-terminated name.

 - The C res_search rejects calls asking for TypeALL as opposed to
   more specific answers like TypeA/TypeAAAA/TypeCNAME,
   breaking cgoLookupHost in all cases and cgoLookupIP
   except with IP-version-specific networks.

 - The DNS response packet was parsed twice, once with msg.Unpack
   (discarded), and once with the lower-level dnsmessage.Parser.
   The Parser loop was missing a call to p.SkipAllQuestions, with the
   result that no DNS response packet would ever parse successfully.

 - The parsing of the DNS response answers, if reached, behaved as if
   that the AResource and AAAAResource record contained textual
   IP addresses, while in fact they contain binary ones. The calls to
   parseIPv4 and parseIPv6 therefore would always returns nil,
   so that no useful result would be returned from the resolver.

With these fixes, cgoLookupIP can correctly resolve google.com
and return both the A and AAAA addresses.

Even after fixing all these things, TestGoLookupIP still fails,
because it is testing that in non-cgo builds the cgo stubs
correctly report "I can't handle the lookup", and as written the
code intentionally violates that expectation.

This CL adds new direct tests of the pseudo-cgo routines.
The direct IP address lookups succeed, but the CNAME query
causes res_search to hang, and the PTR query fails unconditionally
(a trivial C program confirms these behaviors are due to res_search itself).

Traditionally, res_search is only intended for single-threaded use.
It is unclear whether this one is safe for use from multiple goroutines.
If you run net.test under lldb, that causes syslog messages to be
printed to standard error suggesting double-free bugs:

2019-06-05 19:52:43.505246-0400 net.test[6256:6831076] dnssd_clientstub DNSServiceRefDeallocate called with invalid DNSServiceRef 0x5c000f0 FFFFFFFF DDDDDDDD
2019-06-05 19:52:43.505274-0400 net.test[6256:6831076] dnssd_clientstub DNSServiceRefDeallocate called with invalid DNSServiceRef 0x5c000f0 FFFFFFFF DDDDDDDD
2019-06-05 19:52:43.505303-0400 net.test[6256:6831076] dnssd_clientstub DNSServiceRefDeallocate called with invalid DNSServiceRef 0x5c000f0 FFFFFFFF DDDDDDDD
2019-06-05 19:52:43.505329-0400 net.test[6256:6831076] dnssd_clientstub DNSServiceRefDeallocate called with invalid DNSServiceRef 0x5c000f0 FFFFFFFF DDDDDDDD

This res_search is from libsystem_info; a normal C program would
get res_search (#defined to res_9_search) from libresolv instead.
It is unclear what the relation between the two is.
Issue #12524 was about supporting the /etc/resolver directory tree,
but only libresolv contains code for that; libsystem_info does not.
So this code probably does not enable use of /etc/resolver.

In short:

 - Before this CL, the code clearly had never run successfully.
 - The code appears not to improve upon the usual non-cgo fallback.
 - The code carries with it no tests of improved behavior.
 - The code breaks existing tests.
 - Calling res_search does not work for PTR/CNAME queries,
   so the code breaks existing behavior, even after this CL.
 - It's unclear whether res_search is safe to call from multiple threads.
 - It's unclear whether res_search is used by any other macOS programs.

Given this, it probably makes sense to delete this code rather
than rejigger the test. This CL fixes the code first, so that there
is a working copy to bring back later if we find out that it really
is necessary.

For #31705.

Change-Id: Id2e11e8ade43098b0f90dd4d16a62ca86a7a244a
Reviewed-on: https://go-review.googlesource.com/c/go/+/180842
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agoruntime: document, fix libc error checks on macOS
Russ Cox [Wed, 5 Jun 2019 18:51:57 +0000 (14:51 -0400)]
runtime: document, fix libc error checks on macOS

It matters whether we are calling a function that would
return a 32-bit or 64-bit -1 on error. A few sites were wrong
and this key detail was omitted from syscall/syscallX docs.

Change-Id: I48a421b6cc4d2d2b5e58f790cc947e3cb2f98940
Reviewed-on: https://go-review.googlesource.com/c/go/+/180841
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agocmd/go: remove cross-package assembly reference discovery
Austin Clements [Fri, 31 May 2019 20:40:14 +0000 (16:40 -0400)]
cmd/go: remove cross-package assembly reference discovery

This removes the special case for finding assembly references to Go
symbols in runtime and runtime/internal/atomic. These are no longer
necessary because we've now marked all symbols in these packages that
must be accessible from assembly in other packages.

Fixes #31230.

Change-Id: I70c90b70e13b922a6669f3d46c53347f98d6fc3f
Reviewed-on: https://go-review.googlesource.com/c/go/+/179863
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Jay Conrod <jayconrod@google.com>
5 years agoruntime: mark all Go symbols called from assembly in other packages
Austin Clements [Fri, 31 May 2019 20:38:56 +0000 (16:38 -0400)]
runtime: mark all Go symbols called from assembly in other packages

This marks all Go symbols called from assembly in other packages with
"go:linkname" directives to ensure they get ABI wrappers.

Now that we have this go:linkname convention, this also removes the
abi0Syms definition in the runtime, which was used to give morestackc
an ABI0 wrapper. Instead, we now just mark morestackc with a
go:linkname directive.

This was tested with buildall.bash in the default configuration, with
-race, and with -gcflags=all=-d=ssa/intrinsics/off. Since I couldn't
test cgo on non-Linux configurations, I manually grepped for runtime
symbols in runtime/cgo.

Updates #31230.

Change-Id: I6c8aa56be2ca6802dfa2bf159e49c411b9071bf1
Reviewed-on: https://go-review.googlesource.com/c/go/+/179862
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
5 years agocmd/compile: make the second argument to go:linkname optional
Austin Clements [Fri, 31 May 2019 19:45:06 +0000 (15:45 -0400)]
cmd/compile: make the second argument to go:linkname optional

The //go:linkname directive can be used to make a symbol accessible to
another package (when it wouldn't normally be). Sometimes you want to
do this without actually changing the symbol's object file symbol
name; for example, in gccgo this makes unexported symbols non-static,
and in gc this provides ABI0 wrappers for Go symbols so they can be
called from assembly in other packages. Currently, this results in
stutter like

   //go:linkname entersyscall runtime.entersyscall

This CL makes the second argument to go:linkname optional for the case
where the intent is simply to expose the symbol rather than to rename
it in the object file.

Updates #31230.

Change-Id: Id06d9c4b2ec3d8e27f9b8a0d65212ab8048d734f
Reviewed-on: https://go-review.googlesource.com/c/go/+/179861
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
5 years agocmd/compile: generate ABI wrappers for //go:linkname'd symbols
Austin Clements [Fri, 31 May 2019 19:32:22 +0000 (15:32 -0400)]
cmd/compile: generate ABI wrappers for //go:linkname'd symbols

Calling a Go symbol from assembly in another package currently results
in a link failure because the Go symbol is defined as ABIInternal, but
the assembly call is from ABI0. In general this is okay because you
shouldn't do this anyway, but there are special cases where this is
necessary, especially between the runtime and packages closely tied to
the runtime in std.

Currently, we address this for runtime symbols with a hack in cmd/go
that knows to scan related packages when building the symabis file for
the runtime and runtime/internal/atomic. However, in addition to being
a messy solution in the first place, this hack causes races in cmd/go
that are difficult to work around.

We considered creating dummy references from assembly in the runtime
to these symbols, just to make sure they get ABI0 wrappers. However,
there are a fairly large number of these symbols on some platforms,
and it can vary significantly depending on build flags (e.g., race
mode), so even this solution is fairly unpalatable.

This CL addresses this by providing a way to mark symbols in Go code
that should be made available to assembly in other packages. Rather
than introduce a new pragma, we lightly expand the meaning of
"//go:linkname", since that pragma already generally indicates that
you're making the symbol available in a way it wasn't before. This
also dovetails nicely with the behavior of go:linkname in gccgo, which
makes unexported symbols available to other packages.

Follow-up CLs will make use of this and then remove the hack from
cmd/go.

Updates #31230.

Change-Id: I23060c97280626581f025c5c01fb8d24bb4c5159
Reviewed-on: https://go-review.googlesource.com/c/go/+/179860
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
5 years agocmd/compile, runtime: make atomic loads/stores sequentially consistent on s390x
Michael Munday [Tue, 4 Jun 2019 18:17:41 +0000 (19:17 +0100)]
cmd/compile, runtime: make atomic loads/stores sequentially consistent on s390x

The z/Architecture does not guarantee that a load following a store
will not be reordered with that store, unless they access the same
address. Therefore if we want to ensure the sequential consistency
of atomic loads and stores we need to perform serialization
operations after atomic stores.

We do not need to serialize in the runtime when using StoreRel[ease]
and LoadAcq[uire]. The z/Architecture already provides sufficient
ordering guarantees for these operations.

name              old time/op  new time/op  delta
AtomicLoad64-16   0.51ns ± 0%  0.51ns ± 0%     ~     (all equal)
AtomicStore64-16  0.51ns ± 0%  0.60ns ± 9%  +16.47%  (p=0.000 n=17+20)
AtomicLoad-16     0.51ns ± 0%  0.51ns ± 0%     ~     (all equal)
AtomicStore-16    0.51ns ± 0%  0.60ns ± 9%  +16.50%  (p=0.000 n=18+20)

Fixes #32428.

Change-Id: I88d19a4010c46070e4fff4b41587efe4c628d4d9
Reviewed-on: https://go-review.googlesource.com/c/go/+/180439
Run-TryBot: Michael Munday <mike.munday@ibm.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
5 years agocmd/compile: correct capitalization in recordFlags parameter
David Chase [Thu, 6 Jun 2019 13:56:20 +0000 (09:56 -0400)]
cmd/compile: correct capitalization in recordFlags parameter

Tool refactoring smallStacks into smallFrames helpfully
"corrected" the capitalization in a string, this undoes
the help.

This is necessary to ensure correct (re)building when the
flag is used to research stack-marking GC latency bugs.

Updates #27732.

Change-Id: Ib7c8d4a36c9e4f9612559be68bd481f9d9cc69f1
Reviewed-on: https://go-review.googlesource.com/c/go/+/180958
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
5 years agosyscall: fix skip condition in skipUnprivilegedUserClone
Meng Zhuo [Thu, 6 Jun 2019 11:17:01 +0000 (19:17 +0800)]
syscall: fix skip condition in skipUnprivilegedUserClone

This is a follow up CL of CL 180877:
It will skip test create user namespaces under 3 conditions:

1. sysctl file is missing
2. file reads nothing
3. user don't have permission to create namespaces

Change-Id: I25f00a6b67213bf98d654972388637789978e1fe
Reviewed-on: https://go-review.googlesource.com/c/go/+/180937
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
5 years agocmd/compile: add -smallframes gc flag for GC latency diagnosis
David Chase [Wed, 5 Jun 2019 18:53:28 +0000 (14:53 -0400)]
cmd/compile: add -smallframes gc flag for GC latency diagnosis

Shrinks the size of things that can be stack allocated from
10M to 128k for declared variables and from 64k to 16k for
implicit allocations (new(T), &T{}, etc).

Usage: "go build -gcflags -smallframes hello.go"

An earlier GOEXPERIMENT version of this caused only one
problem, when a gc-should-detect-oversize-stack test no
longer had an oversized stack to detect.  The change was
converted to a flag to make it easier to access (for
diagnosing "long" GC-related single-thread pauses) and to
remove interference with the test.

Includes test to verify behavior.

Updates #27732.

Change-Id: I1255d484331e77185e07c78389a8b594041204c2
Reviewed-on: https://go-review.googlesource.com/c/go/+/180817
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agosyscall: skip test if unprivileged_userns_clone sysctl is missing
Meng Zhuo [Thu, 6 Jun 2019 10:07:13 +0000 (18:07 +0800)]
syscall: skip test if unprivileged_userns_clone sysctl is missing

The original test (CL 166460) didn't check the existence of
/proc/sys/kernel/unprivileged_userns_clone and continue the test
if the file doesn't exist.

Fixes #32459

Change-Id: Iab4938252fcaded32b61e17edf68f966c2565582
Reviewed-on: https://go-review.googlesource.com/c/go/+/180877
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
5 years agoruntime: fix non-tab indentation in lookup_darwin_*.s
Russ Cox [Wed, 5 Jun 2019 17:59:00 +0000 (13:59 -0400)]
runtime: fix non-tab indentation in lookup_darwin_*.s

Change-Id: Ie00494f098bd2bce9bfd1b18dbf9543cf46faad6
Reviewed-on: https://go-review.googlesource.com/c/go/+/180840
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agoruntime: fix scattered non-tab indentation in assembly
Russ Cox [Wed, 5 Jun 2019 17:57:47 +0000 (13:57 -0400)]
runtime: fix scattered non-tab indentation in assembly

Change-Id: I6940a4c747f2da871263afa6a4e3386395d5cf54
Reviewed-on: https://go-review.googlesource.com/c/go/+/180839
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agonet: fix conf.teardown call in TestGoLookupIPOrderFallbackToFile
Russ Cox [Wed, 5 Jun 2019 16:33:30 +0000 (12:33 -0400)]
net: fix conf.teardown call in TestGoLookupIPOrderFallbackToFile

If the test fails, conf.teardown wouldn't be.
It doesn't look like it matters much, but clean up anyway.

Change-Id: I45c18095abfd49422975d061be20cbd971a98f8f
Reviewed-on: https://go-review.googlesource.com/c/go/+/180780
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
5 years agoruntime: use default system stack size, not 64 kB, on non-cgo macOS
Russ Cox [Wed, 5 Jun 2019 16:31:42 +0000 (12:31 -0400)]
runtime: use default system stack size, not 64 kB, on non-cgo macOS

At least one libc call we make
(res_search, which calls _mdns_query and then mdns_item_call)
pushes a 64 kB stack frame onto the stack.
Then it faults on the guard page.

Use the default system stack size, under the assumption
that the C code being called is compatible with that stack size.

For #31705.

Change-Id: I1b0bfc2e54043c49f0709255988ef920ce30ee82
Reviewed-on: https://go-review.googlesource.com/c/go/+/180779
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agocmd/go: accept -Wl,-R/path/
ng0 [Wed, 5 Jun 2019 22:01:40 +0000 (22:01 +0000)]
cmd/go: accept -Wl,-R/path/

Fixes #32167

Change-Id: If1277789ac96363430045e73e49d008bdae9be79
GitHub-Last-Rev: 71c9435c8417b19faaf66dc2e08740d7a9c22e3b
GitHub-Pull-Request: golang/go#32171
Reviewed-on: https://go-review.googlesource.com/c/go/+/178397
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
5 years agodoc: clarify safety of multiple and concurent os.(*File).Close() calls
Alex Myasoedov [Tue, 4 Jun 2019 18:07:57 +0000 (20:07 +0200)]
doc: clarify safety of multiple and concurent os.(*File).Close() calls

Fixes #32427

Change-Id: I4b863bd3836067dcc2eb3a9c3a7169656763d003
Reviewed-on: https://go-review.googlesource.com/c/go/+/180438
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
5 years agoRevert "cmd/compile,runtime: allocate defer records on the stack"
Keith Randall [Wed, 5 Jun 2019 18:42:31 +0000 (18:42 +0000)]
Revert "cmd/compile,runtime: allocate defer records on the stack"

This reverts commit fff4f599fe1c21e411a99de5c9b3777d06ce0ce6.

Reason for revert: Seems to still have issues around GC.

Fixes #32452

Change-Id: Ibe7af629f9ad6a3d5312acd7b066123f484da7f0
Reviewed-on: https://go-review.googlesource.com/c/go/+/180761
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
5 years agocmd/link: regenerate symkind_string.go
Austin Clements [Mon, 3 Jun 2019 19:20:30 +0000 (15:20 -0400)]
cmd/link: regenerate symkind_string.go

Change-Id: Ibe514058770bd5342e1f344c5b8a9ab1427d5dfe
Reviewed-on: https://go-review.googlesource.com/c/go/+/180297
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

5 years agodoc: remove CL 159258 from 1.13 release notes list
Ian Lance Taylor [Wed, 5 Jun 2019 17:09:08 +0000 (10:09 -0700)]
doc: remove CL 159258 from 1.13 release notes list

It was rolled back.

Change-Id: I8372bb7e11bab7be242f4af7093a73d2fa093067
Reviewed-on: https://go-review.googlesource.com/c/go/+/180760
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>