]> Cypherpunks repositories - gostls13.git/log
gostls13.git
7 years agodoc: mention gccgo status in 1.9 release notes
Ian Lance Taylor [Wed, 28 Jun 2017 19:14:49 +0000 (12:14 -0700)]
doc: mention gccgo status in 1.9 release notes

Updates #20587

Change-Id: If35868345d9697d4afa2e9c19b85e01d94c87908
Reviewed-on: https://go-review.googlesource.com/47034
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agosyscall: fix Exec on solaris
Shawn Walker-Salas [Wed, 28 Jun 2017 17:58:44 +0000 (10:58 -0700)]
syscall: fix Exec on solaris

The test added for issue #18146 exposed a long-existing bug in the
Solaris port; notably, that syscall.Exec uses RawSyscall -- which is not
actually functional for the Solaris port (intentionally) and only exists
as a placebo to satisfy build requirements.

Call syscall.execve instead for Solaris.

Fixes #20832

Change-Id: I327d863f4bbbbbb6e5ecf66b82152c4030825d09
Reviewed-on: https://go-review.googlesource.com/47032
Run-TryBot: Shawn Walker-Salas <shawn.walker@oracle.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoos: fix passing long paths to Chmod on Windows
Ibrahim AshShohail [Wed, 28 Jun 2017 17:09:15 +0000 (20:09 +0300)]
os: fix passing long paths to Chmod on Windows

os.Chmod returns an error when passed a long path (>=260) characters on
Windows. CL 32451 fixed most file functions in os. This change applies the
same fix to os.Chmod.

Fixes #20829

Change-Id: I3270db8317ce6e06e6d77070a32a5df6ab2491e0
Reviewed-on: https://go-review.googlesource.com/47010
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agotime: show how to get midnight on the current day
Kevin Burke [Tue, 27 Jun 2017 18:36:32 +0000 (11:36 -0700)]
time: show how to get midnight on the current day

A common task is trying to get today's date in the local time zone
with zero values for the hour, minute, second, and nanosecond fields.
I tried this recently and incorrectly used Truncate(24*time.Hour),
which truncates based on a UTC clock, and gave me 5pm Pacific time
instead of midnight Pacific.

I thought it would be helpful to show a "correct" way to do this.

Change-Id: I479e6b0cc56367068530981ca69882b34febf945
Reviewed-on: https://go-review.googlesource.com/46833
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agospec: minor grammar fix
Robert Griesemer [Wed, 28 Jun 2017 17:15:24 +0000 (10:15 -0700)]
spec: minor grammar fix

Fixes #20830.

Change-Id: I18178064c955ad8d259df05ee954075ae42909b0
Reviewed-on: https://go-review.googlesource.com/47030
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/compile: fix slice-in-bound check on amd64p32
Cherry Zhang [Tue, 27 Jun 2017 20:34:06 +0000 (16:34 -0400)]
cmd/compile: fix slice-in-bound check on amd64p32

Should use CMPL instead of CMPQ.

Fixes #20811.

Change-Id: I610d487949c2c8a08b3743656149069d931a51bb
Reviewed-on: https://go-review.googlesource.com/46870
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agotime: fix example in monotonic time comment
Russ Cox [Wed, 28 Jun 2017 14:33:15 +0000 (10:33 -0400)]
time: fix example in monotonic time comment

t.Sub(u) would be -20 milliseconds.
The right computation is u.Sub(t), but rewrite to be even clearer.

Thanks to Karsten Weiss for catching this.

Change-Id: I6e274d69b0301840d57c5c65bf4114da0d33bf10
Reviewed-on: https://go-review.googlesource.com/46971
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: Proper default value for the $GOPATH.
Gabriel Nicolas Avellaneda [Tue, 27 Jun 2017 21:00:59 +0000 (18:00 -0300)]
doc: Proper default value for the $GOPATH.

It should be $HOME/go instead of $HOME/work

Change-Id: I22e0a89deff30f935c3e25a237d6c0c161103339
Reviewed-on: https://go-review.googlesource.com/46890
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime: temporarily skip gdb python-related tests on solaris
Shawn Walker-Salas [Tue, 27 Jun 2017 23:49:09 +0000 (16:49 -0700)]
runtime: temporarily skip gdb python-related tests on solaris

Updates #20821

Change-Id: I77a5b9a3bbb931845ef52a479549d71069af9540
Reviewed-on: https://go-review.googlesource.com/46913
Run-TryBot: Shawn Walker-Salas <shawn.walker@oracle.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoarchive/tar: use best effort at writing USTAR header
Joe Tsai [Wed, 28 Jun 2017 00:30:39 +0000 (17:30 -0700)]
archive/tar: use best effort at writing USTAR header

Prior to this change, if the Writer needed to use the PAX format, it would
output a USTAR header with an empty name. This should be okay since the PAX
specification dictates that the PAX record for "path" should override the
semantic meaning of any of the old USTAR fields.

Unfortunately, the implementation of tar on OpenBSD 6.1 is too strict with
their handling of PAX files such that they check for the validity of this
bogus field even though the PAX header is present.

To allow Go's Writer output be parsible by OpenBSD's tar utility,
we write a best-effort (ASCII-only and truncated) version of the original
file name. Note that this still fails in some edge-cases (for example,
a Chinese filename containing all non-ASCII characters). OpenBSD should really
relax their checking, as you honestly can't always expect a sensible path
to be generated when USTAR cannot handle the original path.

Fixes #20707

Change-Id: Id7d77349023d2152d7291d582cd050b6681760e4
Reviewed-on: https://go-review.googlesource.com/46914
Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/cgo: unwrap typedef-chains before type checking
Hiroshi Ioka [Sun, 4 Jun 2017 03:11:19 +0000 (12:11 +0900)]
cmd/cgo: unwrap typedef-chains before type checking

clang can emit some dwarf.VoidType which are wrapped by multiple
dwarf.TypedefType. We need to unwrap those before further processing.

Fixes #20129

Change-Id: I671ce6aef2dc7b55f1a02aec5f9789ac1b369643
Reviewed-on: https://go-review.googlesource.com/44772
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agodoc: mention testing/quick RNG seeding change in Go 1.9 notes
Brad Fitzpatrick [Tue, 27 Jun 2017 22:17:21 +0000 (22:17 +0000)]
doc: mention testing/quick RNG seeding change in Go 1.9 notes

Also reword the testing/quick.Config field docs to conform to the
normal subject-first style. Without that style, godoc links
/pkg/testing/quick/#Config.Rand to the wrong line, since it doesn't
recognize the preceding comment as necessarily being attached.

Fixes #20809

Change-Id: I9aebbf763eed9b1ab1a153fa11850d88a65571c6
Reviewed-on: https://go-review.googlesource.com/46910
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet/http: whitelist another non-http goroutine in leak checker
Brad Fitzpatrick [Tue, 27 Jun 2017 20:21:39 +0000 (20:21 +0000)]
net/http: whitelist another non-http goroutine in leak checker

Fixes #20810

Change-Id: I09365b2db50c41aa3383dd730859b6f2cdb78e63
Reviewed-on: https://go-review.googlesource.com/46836
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/compile: suppress errors after "cannot assign to X"
Matthew Dempsky [Tue, 27 Jun 2017 19:58:32 +0000 (12:58 -0700)]
cmd/compile: suppress errors after "cannot assign to X"

If the LHS is unassignable, there's no point in trying to make sure
the RHS can be assigned to it or making sure they're realizable
types. This is consistent with go/types.

In particular, this prevents "1 = 2" from causing a panic when "1"
still ends up with the type "untyped int", which is not realizable.

Fixes #20813.

Change-Id: I4710bdaac2e375ef12ec29b888b8ac84fb640e56
Reviewed-on: https://go-review.googlesource.com/46835
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agobufio: make Reader.Peek invalidate Unreads
Martin Garton [Tue, 27 Jun 2017 17:02:23 +0000 (18:02 +0100)]
bufio: make Reader.Peek invalidate Unreads

Since Reader.Peek potentially reads from the underlying io.Reader,
discarding previous buffers, UnreadRune and UnreadByte cannot
necessarily work.  Change Peek to invalidate the unread buffers in all
cases (as allowed according to the documentation) and thus prevent
hiding bugs in the caller.

Fixes #18556

Change-Id: I8d836db7ce31c4aaecb4f61c24573b0332bbf30d
Reviewed-on: https://go-review.googlesource.com/46850
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agocmd/go: skip broken TestExecutableGOROOT/RelocatedExe
Brad Fitzpatrick [Tue, 27 Jun 2017 16:21:48 +0000 (16:21 +0000)]
cmd/go: skip broken TestExecutableGOROOT/RelocatedExe

Test just doesn't work.

Updates #20284

Change-Id: I31c3f771e68dcdc471767594a1467e19fbf5fe88
Reviewed-on: https://go-review.googlesource.com/46830
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@google.com>
7 years agocmd/go: update helpdoc.go about '-buildmode'
Dong-hee Na [Tue, 27 Jun 2017 14:04:44 +0000 (23:04 +0900)]
cmd/go: update helpdoc.go about '-buildmode'

After https://golang.org/cl/46421 is landed.
helpdoc.go should be updated that -buildmode=c-shared
requires only one main package.

Fixes #15082

Change-Id: I30a0ee956e6c4655c975ecdaa905887bd474952c
Reviewed-on: https://go-review.googlesource.com/46810
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoencoding/binary: improve comment formatting consistency
Dmitri Shuralyov [Tue, 27 Jun 2017 05:18:30 +0000 (01:18 -0400)]
encoding/binary: improve comment formatting consistency

Use 2 slashes, space, then tab. This is more consistent, and removes
inadvertent leading space.

Change-Id: I383770ed4eb8ac17c78c7ae5675b553d4fb70b1e
Reviewed-on: https://go-review.googlesource.com/46726
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocrypto/x509: fix panic in TestEnvVars, improve style
Dmitri Shuralyov [Mon, 26 Jun 2017 18:32:55 +0000 (14:32 -0400)]
crypto/x509: fix panic in TestEnvVars, improve style

This panic happens when the test fails due to the returned number of
certificates (r.certs) being less than expected by test case (tc.cns).
When i == len(r.certs) in the for loop, r.certs[i] will cause an index
out of range panic.

Also improve readability, consistency and style of the code. Use the
more common "got x, want y" pattern. See https://golang.org/s/style#useful-test-failures
for reference (and grep codebase for most common occurrences). Add a
comment, and remove blank line separating two blocks that are both
related to verifying that len(r.certs) == len(tc.cns). This should
help with readability.

Remove space after colon in call to t.Fatal, since it adds spaces
between its arguments.

Fixes #20801.

Change-Id: I40476103f1b5a0fa74b05637c250926b571c92fd
Reviewed-on: https://go-review.googlesource.com/46715
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime: get more info for TestCgoSignalDeadlock failures
Ian Lance Taylor [Mon, 26 Jun 2017 23:11:33 +0000 (16:11 -0700)]
runtime: get more info for TestCgoSignalDeadlock failures

Updates #18598

Change-Id: I13c60124714cf9d1537efa0a7dd1e6a0fed9ae5b
Reviewed-on: https://go-review.googlesource.com/46723
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agotest/fixedbugs: Close opening parenthesis in comment in issue20789.go
Gabríel Arthúr Pétursson [Mon, 26 Jun 2017 23:54:04 +0000 (23:54 +0000)]
test/fixedbugs: Close opening parenthesis in comment in issue20789.go

Updates #20789

Change-Id: Ic7a94394e283bc1b667cdad999ceee9513f35e37
Reviewed-on: https://go-review.googlesource.com/46770
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agonet/http/pprof: mention mutex profile in doc
Hana (Hyang-Ah) Kim [Fri, 28 Apr 2017 13:11:50 +0000 (09:11 -0400)]
net/http/pprof: mention mutex profile in doc

mutex profile requires explicit calls to
runtime.SetMutexProfileFraction to enable/disable
profiling (like block profile). It is worth
mentioning in the doc.

Change-Id: I2b8d654be9f5c6bc49fc802b7708c4c552fea9b2
Reviewed-on: https://go-review.googlesource.com/42070
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: add FMA mention to Go 1.9 release notes
Brad Fitzpatrick [Mon, 26 Jun 2017 19:43:56 +0000 (19:43 +0000)]
doc: add FMA mention to Go 1.9 release notes

Fixes #20795
Updates #17895
Updates #20587

Change-Id: Iea375f3a6ffe3f51e3ffdae1fb3fd628b6b3316c
Reviewed-on: https://go-review.googlesource.com/46717
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet/http: fix double-close of req.Body
Matt Harden [Tue, 21 Feb 2017 04:07:44 +0000 (20:07 -0800)]
net/http: fix double-close of req.Body

Add a test and fix for the request body being closed twice.

Fixes #19186

Change-Id: I1e35ad4aebfef68e6099c1dba7986883afdef4d7
Reviewed-on: https://go-review.googlesource.com/37298
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/go: add more info in t.Fatal message go1.9beta2
Brad Fitzpatrick [Mon, 26 Jun 2017 21:08:05 +0000 (21:08 +0000)]
cmd/go: add more info in t.Fatal message

Updates #20284

Change-Id: I4d55d6adec4e8efb54285ca27bb4fa39c76582c3
Reviewed-on: https://go-review.googlesource.com/46719
Reviewed-by: Chris Broadfoot <cbro@golang.org>
7 years agonet/http/httputil: always deep copy the Request.Header map in ReverseProxy
Brad Fitzpatrick [Mon, 26 Jun 2017 19:07:24 +0000 (19:07 +0000)]
net/http/httputil: always deep copy the Request.Header map in ReverseProxy

We used to do it sometimes as an optimization, but the optimization is
flawed: in all non-contrived cases we need to deep clone the map
anyway. So do it always, which both simplifies the code but also fixes
the X-Forward-For value leaking to the caller's Request, as well as
modifications from the optional Director func.

Fixes #18327

Change-Id: I0c86d10c557254bf99fdd988227dcb15f968770b
Reviewed-on: https://go-review.googlesource.com/46716
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoruntime: drain local runq when dedicated mark worker runs
Austin Clements [Fri, 23 Jun 2017 21:54:39 +0000 (17:54 -0400)]
runtime: drain local runq when dedicated mark worker runs

When the dedicated mark worker runs, the scheduler won't run on that P
again until GC runs out of mark work. As a result, any goroutines in
that P's local run queue are stranded until another P steals them. In
a normally operating system this may take a long time, and in a 100%
busy system, the scheduler never attempts to steal from another P.

Fix this by draining the local run queue into the global run queue if
the dedicated mark worker has run for long enough. We don't do this
immediately upon scheduling the dedicated mark worker in order to
avoid destroying locality if the mark worker runs for a short time.
Instead, the scheduler delays draining the run queue until the mark
worker gets its first preemption request (and otherwise ignores the
preemption request).

Fixes #20011.

Change-Id: I13067194b2f062b8bdef25cb75e4143b7fb6bb73
Reviewed-on: https://go-review.googlesource.com/46610
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
7 years agocmd/compile: use correct variable when setting up dummy CallStmt in error
Robert Griesemer [Mon, 26 Jun 2017 18:12:43 +0000 (11:12 -0700)]
cmd/compile: use correct variable when setting up dummy CallStmt in error

Fixes crash when printing a related error message later on.

Fixes #20789.

Change-Id: I6d2c35aafcaeda26a211fc6c8b7dfe4a095a3efe
Reviewed-on: https://go-review.googlesource.com/46713
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agonet/http/httptest: close client connections in separate goroutines
Yasha Bubnov [Mon, 28 Nov 2016 20:16:16 +0000 (23:16 +0300)]
net/http/httptest: close client connections in separate goroutines

The existing implementation sequentially closes connection in the loop
and until the previous client connections is not closed the next one
would not be processed. Instead, the algorithm modified to spawn the
function that closes single connection in a standalone goroutine, thus
making at least a try to close it.

Change-Id: Ib96b5b477f841926450d122b67f14f1a2da36ee1
Reviewed-on: https://go-review.googlesource.com/33614
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoos/signal: check MustHaveExec in TestAtomicStop
Ian Lance Taylor [Sun, 25 Jun 2017 03:54:47 +0000 (20:54 -0700)]
os/signal: check MustHaveExec in TestAtomicStop

Change-Id: I284ecfab574b3058ba66b75f8f8d2ccdb90a8a0c
Reviewed-on: https://go-review.googlesource.com/46650
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Elias Naur <elias.naur@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoos/signal: avoid race between Stop and receiving on channel
Ian Lance Taylor [Fri, 16 Jun 2017 16:29:44 +0000 (09:29 -0700)]
os/signal: avoid race between Stop and receiving on channel

When Stop is called on a channel, wait until all signals have been
delivered to the channel before returning.

Use atomic operations in sigqueue to communicate more reliably between
the os/signal goroutine and the signal handler.

Fixes #14571

Change-Id: I6c5a9eea1cff85e37a34dffe96f4bb2699e12c6e
Reviewed-on: https://go-review.googlesource.com/46003
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agocmd/internal/obj/arm: fix wrong encoding of MULBB
Ben Shi [Fri, 23 Jun 2017 08:05:37 +0000 (08:05 +0000)]
cmd/internal/obj/arm: fix wrong encoding of MULBB

"MULBB R1, R2, R3" is encoded to 0xe163f182, which should be
0xe1630182.

This patch fix it.

fix #20764

Change-Id: I9d3c3ffa40ecde86638e5e083eacc67578caebf4
Reviewed-on: https://go-review.googlesource.com/46491
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agoos: align siginfo argument to waitid
Ian Lance Taylor [Fri, 23 Jun 2017 14:08:56 +0000 (07:08 -0700)]
os: align siginfo argument to waitid

I have no test case for this, but there is one report on the mailing list
(https://groups.google.com/d/msg/golang-dev/sDg-t1_DPw0/-AJmLxgPBQAJ)
in which waitid running on MIPS returns EFAULT.

Change-Id: I79bde63c7427eefc1f2925d78d97cc9cf2fffde3
Reviewed-on: https://go-review.googlesource.com/46511
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: fix TestExecutableGOROOT when GOROOT_FINAL is set
Russ Cox [Fri, 23 Jun 2017 00:08:00 +0000 (20:08 -0400)]
cmd/go: fix TestExecutableGOROOT when GOROOT_FINAL is set

If GOROOT_FINAL was set during the build, the default GOROOT
will not be testGOROOT. Determine the default GOROOT by reading
the right source file instead of guessing. (GOROOT_FINAL may no
longer be set when the test is actually run.)

Also refactor a bit.

Fixes #20284.

Change-Id: I2274595a235bee10c3f3a5ffecf4bb976f4d9982
Reviewed-on: https://go-review.googlesource.com/46428
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/go: be more precise when a directory cannot be built
Russ Cox [Thu, 22 Jun 2017 23:02:35 +0000 (19:02 -0400)]
cmd/go: be more precise when a directory cannot be built

Maybe there are no Go files at all.
Maybe they are all excluded by build constraints.
Maybe there are only test Go files.
Be specific.

Fixes #17008.
Fixes parts of #20760.

Change-Id: If6ac82ba0ed437772e76e06763263747d3bc4f65
Reviewed-on: https://go-review.googlesource.com/46427
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/go: report possibly-relevant ignored symlinks during pattern match
Russ Cox [Thu, 22 Jun 2017 20:52:26 +0000 (16:52 -0400)]
cmd/go: report possibly-relevant ignored symlinks during pattern match

We can't follow symlinks for fear of directory cycles and other problems,
but we can at least notice potentially-relevant symlinks that are being
ignored and report them.

Fixes #17662.

Change-Id: I1fce00bd5b80ea8df45dac8b61bfa08076ec5f4b
Reviewed-on: https://go-review.googlesource.com/46425
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/go: detect case-insensitive import path collision
Russ Cox [Thu, 22 Jun 2017 20:24:05 +0000 (16:24 -0400)]
cmd/go: detect case-insensitive import path collision

We already detect this collision when both imports are used
anywhere in a single program. Also detect it when they are in
different targets being processed together.

Fixes #20264.

Change-Id: I5d3c822aae136053fbcb5ed167e1d67f9b847a0f
Reviewed-on: https://go-review.googlesource.com/46424
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/internal/obj/arm: fix setting U bit in shifted register offset of MOVBS
Ben Shi [Fri, 16 Jun 2017 11:19:01 +0000 (11:19 +0000)]
cmd/internal/obj/arm: fix setting U bit in shifted register offset of MOVBS

"MOVBS.U R0<<0(R1), R2" is assembled to 0xe19120d0 (ldrsb r2, [r1, r0]),
but it is expected to be 0xe11120d0 (ldrsb r2, [r1, -r0]).

This patch fixes it and adds more encoding tests.

fixes #20701

Change-Id: Ic1fb46438d71a978dbef06d97494a70c95fcbf3a
Reviewed-on: https://go-review.googlesource.com/45996
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
7 years agoencoding/ascii85: make bigtest big again
Mark Ryan [Fri, 23 Jun 2017 13:13:11 +0000 (14:13 +0100)]
encoding/ascii85: make bigtest big again

ascii85_test.go contains a variable called bigtest that is used as
test data for TestDecoderBuffering and TestEncoderBuffering.  The
variable is initialised to a copy of the last element of the pairs
slice.  When the variable was first added the last element of this
slice contained a sizable test case, 342 encoded characters.  However,
https://golang.org/cl/5970078 added a new element to the end of the pairs
slice without updating bigtest.  As the new element contained only 1 byte
of encoded data bigtest became very small test.  This commit fixes the
problem by resetting bigtest to its original value and making its
initialisation independent of the layout of pairs.  All the unit tests
still pass.

Change-Id: If7fb609ced9da93a2321dfd8372986b2fa772fd5
Reviewed-on: https://go-review.googlesource.com/46475
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: document that Dir can serve sensitive directories
Kevin Burke [Fri, 23 Jun 2017 02:33:42 +0000 (19:33 -0700)]
net/http: document that Dir can serve sensitive directories

Updates #20759.

Change-Id: Ic61dcb6d101ad1491dca535aebb6ee8ee740d013
Reviewed-on: https://go-review.googlesource.com/46468
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: Update server idleTimeout documentation
Qiuxuan Zhu [Fri, 23 Jun 2017 04:31:48 +0000 (12:31 +0800)]
net/http: Update server idleTimeout documentation

Fixes #20383

Change-Id: I11234393c3beb669f87976a4f0b424bec7372b82
Reviewed-on: https://go-review.googlesource.com/46434
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: detect Go assembly before assembling with gcc
Russ Cox [Thu, 22 Jun 2017 20:11:10 +0000 (16:11 -0400)]
cmd/go: detect Go assembly before assembling with gcc

Avoids confusing errors from the GNU assembler
processing Go assembly source code.

Fixes #19448.

Change-Id: Ic2c68b2521847cca5a3d078a092e5c60ec340840
Reviewed-on: https://go-review.googlesource.com/46423
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/go: require -buildmode=c-shared to take one main package
Russ Cox [Thu, 22 Jun 2017 19:49:42 +0000 (15:49 -0400)]
cmd/go: require -buildmode=c-shared to take one main package

The current behavior is to filter out the non-main packages silently,
which is confusing if there are only non-main packages.
Instead, report an error unless it's used with a single main package.

To be clear, I don't really know what I'm doing.
It might be that multiple main packages are allowed, or even
that we do want the filtering, but all.bash passes with this change,
so I am taking that as a sign that we don't need that extra flexibility.

Fixes #15082.

Change-Id: I984d0f444a01c0ee0c3cd6646a75527ea99a9ebe
Reviewed-on: https://go-review.googlesource.com/46421
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agogo/types: prevent crash in type cycles involving non-type expressions
Robert Griesemer [Thu, 22 Jun 2017 23:28:11 +0000 (16:28 -0700)]
go/types: prevent crash in type cycles involving non-type expressions

Fixes #18643.

Change-Id: I36dca943d552a178a71094ff883b0319fe03d130
Reviewed-on: https://go-review.googlesource.com/46467
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agonet: update documentation on IP.IsUnspecified
Mikio Hara [Tue, 6 Jun 2017 02:12:34 +0000 (11:12 +0900)]
net: update documentation on IP.IsUnspecified

Fixes #19344.

Change-Id: Ic6fc7485cb50bfae99fda69d0cd9c4ae434af4c3
Reviewed-on: https://go-review.googlesource.com/44910
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/compile: fix array slice expression bounds check
Robert Griesemer [Thu, 22 Jun 2017 22:35:35 +0000 (15:35 -0700)]
cmd/compile: fix array slice expression bounds check

Fixes #20749.

Change-Id: Ic6a7edc858575c4cb8b2e2ca97ee0c4b69f22c27
Reviewed-on: https://go-review.googlesource.com/46466
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agonet: update documentation on methods of UnixConn
Mikio Hara [Tue, 6 Jun 2017 04:45:22 +0000 (13:45 +0900)]
net: update documentation on methods of UnixConn

This change simplifies the documentation on methods of UnixConn.

Change-Id: Ibd89f9172b28adfcf7fdd43b3bc196ae7f8302cf
Reviewed-on: https://go-review.googlesource.com/44913
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on methods of IPConn
Mikio Hara [Tue, 6 Jun 2017 04:33:01 +0000 (13:33 +0900)]
net: update documentation on methods of IPConn

This change simplifies the documentation on methods of IPConn and adds
a reference to golang.org/x/net/ipv{4,6} packages to the documentation
on {Read,Write}MsgIP methods.

Change-Id: Ie07a853288940e0fef6a417ffc8d0c3d444c21cd
Reviewed-on: https://go-review.googlesource.com/44911
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on methods of UDPConn
Mikio Hara [Tue, 6 Jun 2017 04:35:39 +0000 (13:35 +0900)]
net: update documentation on methods of UDPConn

This change simplifies the documentation on methods of UDPConn and
adds a reference to golang.org/x/net/{ipv4,ipv6} packages to the
documentation on {Read,Write}MsgUDP methods.

Change-Id: I425a8d81bc46b6579aa9f89faa4982bb86b40f24
Reviewed-on: https://go-review.googlesource.com/44912
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agocmd/go: read URL not Repository Root from svn info
Russ Cox [Wed, 21 Jun 2017 20:32:19 +0000 (16:32 -0400)]
cmd/go: read URL not Repository Root from svn info

This makes custom import path checks work even when the
custom import metadata directs checking out a subtree
of the subversion repository.

(Git and Mercurial allow no such thing, so they are unaffected.)

Fixes #20731.

Change-Id: I635f3a2037d69a87c6dac7b08b0a0d8266abd250
Reviewed-on: https://go-review.googlesource.com/46417
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on JoinHostPort and SplitHostPort
Mikio Hara [Sun, 8 Jan 2017 08:29:26 +0000 (17:29 +0900)]
net: update documentation on JoinHostPort and SplitHostPort

This change adds a reference to the Dial to clarify the parameters and
return values.

Change-Id: I611b9a79f4033ef035acd7098aea5965905d9a4c
Reviewed-on: https://go-review.googlesource.com/34880
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on Resolve{TCP,UDP,IP,Unix}Addr
Mikio Hara [Sun, 8 Jan 2017 08:28:01 +0000 (17:28 +0900)]
net: update documentation on Resolve{TCP,UDP,IP,Unix}Addr

This change clarifies the documentation on
Resolve{TCP,UDP,IP,Unix}Addr to avoid unnecessary confusion about how
the arguments are used to make end point addresses.

Also replaces "name" or "hostname" with "host name" when the term
implies the use of DNS.

Updates #17613.

Change-Id: Id6be87fe2e4666eecd5b92f18ad8b9a6c50a2bd6
Reviewed-on: https://go-review.googlesource.com/34879
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on Listen{TCP,UDP,MulticastUDP,IP,Unix,Unixgram}
Mikio Hara [Sun, 8 Jan 2017 08:22:34 +0000 (17:22 +0900)]
net: update documentation on Listen{TCP,UDP,MulticastUDP,IP,Unix,Unixgram}

This change clarifies the documentation on
Listen{TCP,UDP,MulticastUDP,IP,Unix,Unixgram} to avoid unnecessary
confusion about how the arguments for the connection setup functions
are used to make connections.

Change-Id: Ie269453ef49ec2db893391dc3ed2f7b641c14249
Reviewed-on: https://go-review.googlesource.com/34878
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on Dial{TCP,UDP,IP,Unix}
Mikio Hara [Sun, 8 Jan 2017 08:18:20 +0000 (17:18 +0900)]
net: update documentation on Dial{TCP,UDP,IP,Unix}

This change clarifies the documentation on Dial{TCP,UDP,IP,Unix} to
avoid unnecessary confusion about how the arguments for the connection
setup functions are used to make connections.

Change-Id: I2e378182948fbe221f6ae786ab55e77ae90c3f3b
Reviewed-on: https://go-review.googlesource.com/34877
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on Listen and ListenPacket
Mikio Hara [Sun, 8 Jan 2017 08:16:46 +0000 (17:16 +0900)]
net: update documentation on Listen and ListenPacket

This change clarifies the documentation on Listen and ListenPacket to
avoid unnecessary confusion about how the arguments for the connection
setup functions are used to make connections.

Also replaces "name" or "hostname" with "host name" when the term
implies the use of DNS.

Updates #17613.
Updates #17614.
Updates #17615.
Fixes #17616.
Updates #17738.
Updates #17956.

Change-Id: I0bad2e143207666f2358d397fc076548ee6c3ae9
Reviewed-on: https://go-review.googlesource.com/34876
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: update documentation on Dial and its variants
Mikio Hara [Sun, 8 Jan 2017 08:15:54 +0000 (17:15 +0900)]
net: update documentation on Dial and its variants

This change clarifies the documentation on Dial and its variants to
avoid unnecessary confusion about how the arguments for the connection
setup functions are used to make connections.

Also replaces "name" or "hostname" with "host name" when the term
implies the use of DNS.

Updates #17613.
Fixes #17614.
Fixes #17738.
Fixes #17956.
Updates #18806.

Change-Id: I6adb3f2ae04a3bf83b96016ed73d8e59926f3e8a
Reviewed-on: https://go-review.googlesource.com/34875
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoos: run more of TestExecutable on OpenBSD
Michael Hendricks [Thu, 22 Jun 2017 02:28:41 +0000 (21:28 -0500)]
os: run more of TestExecutable on OpenBSD

On OpenBSD, Executable relies on Args[0].  Removing the forgery on
that OS allows the rest of the test to run.

See #19453

Change-Id: Idf99f86894de5c702893791bc3684f8665f4019d
Reviewed-on: https://go-review.googlesource.com/46398
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agogo/types: more robust operand printing
Robert Griesemer [Wed, 21 Jun 2017 23:20:00 +0000 (16:20 -0700)]
go/types: more robust operand printing

Not a fix but useful for further debugging, and safe.

For #18643.

Change-Id: I5fb4f4a8662007a26e945fff3986347855f00eab
Reviewed-on: https://go-review.googlesource.com/46393
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agogo/ast: improved documentation for comments associated with an AST
Robert Griesemer [Wed, 21 Jun 2017 18:51:34 +0000 (11:51 -0700)]
go/ast: improved documentation for comments associated with an AST

Fixes #18593.

Change-Id: Ibe33ad9b536fee909120b3654b9d831e469eb285
Reviewed-on: https://go-review.googlesource.com/46370
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agocmd/compile: make loop guard+rotate conditional on GOEXPERIMENT
David Chase [Wed, 21 Jun 2017 21:19:24 +0000 (17:19 -0400)]
cmd/compile: make loop guard+rotate conditional on GOEXPERIMENT

Loops of the form "for i,e := range" needed to have their
condition rotated to the "bottom" for the preemptible loops
GOEXPERIMENT, but this caused a performance regression
because it degraded bounds check removal.  For now, make
the loop rotation/guarding conditional on the experiment.

Fixes #20711.
Updates #10958.

Change-Id: Icfba14cb3b13a910c349df8f84838cf4d9d20cf6
Reviewed-on: https://go-review.googlesource.com/46410
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
7 years agoruntime/cgo: fix typos
Hiroshi Ioka [Wed, 21 Jun 2017 10:48:22 +0000 (19:48 +0900)]
runtime/cgo: fix typos

Change-Id: I6265ac81e5c38b201e14ddba2d6b9f0e73d8445c
Reviewed-on: https://go-review.googlesource.com/46310
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agosync: make clear that WaitGroup.Done decrements by one
Alberto Donizetti [Wed, 21 Jun 2017 15:17:22 +0000 (17:17 +0200)]
sync: make clear that WaitGroup.Done decrements by one

Change-Id: Ief076151739147378f8ca35cd09aabb59c3c9a52
Reviewed-on: https://go-review.googlesource.com/46350
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoos: fix documentation for Executable on OpenBSD
Michael Hendricks [Wed, 21 Jun 2017 01:38:14 +0000 (20:38 -0500)]
os: fix documentation for Executable on OpenBSD

Executable on OpenBSD now uses Args[0] so procfs is no longer
required.

Change-Id: I4155ac76f8909499783e876e92ee4f13a35b47dd
Reviewed-on: https://go-review.googlesource.com/46211
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoall: gofmt
Mikio Hara [Tue, 20 Jun 2017 08:25:07 +0000 (17:25 +0900)]
all: gofmt

Change-Id: I2d0439a9f068e726173afafe2ef1f5d62b7feb4d
Reviewed-on: https://go-review.googlesource.com/46190
Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoruntime, syscall: workaround for bug in Linux's execve
John R. Lenton [Sat, 20 May 2017 16:22:36 +0000 (17:22 +0100)]
runtime, syscall: workaround for bug in Linux's execve

Linux's execve has (at the time of writing, and since v2.6.30) a bug when it ran
concurrently with clone, in that it would fail to set up some datastructures if
the thread count before and after some steps differed. This is described better
and in more detail by Colin King in Launchpad¹ and kernel² bugs. When a program
written in Go runtime.Exec's a setuid binary, this issue may cause the resulting
process to not have the expected uid. This patch works around the issue by using
a mutex to serialize exec and clone.

1. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1672819
2. https://bugzilla.kernel.org/show_bug.cgi?id=195453

Fixes #19546

Change-Id: I126e87d1d9ce3be5ea4ec9c7ffe13f92e087903d
Reviewed-on: https://go-review.googlesource.com/43713
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocrypto/x509: update MaxPathLen & MaxPathLenZero docs
Brad Fitzpatrick [Mon, 19 Jun 2017 22:57:40 +0000 (22:57 +0000)]
crypto/x509: update MaxPathLen & MaxPathLenZero docs

Fixes #19285

Change-Id: I11e864eff9980dec8247c47e4c600f76602e7ada
Reviewed-on: https://go-review.googlesource.com/46092
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoA+C: updated update
Brad Fitzpatrick [Mon, 19 Jun 2017 19:06:08 +0000 (19:06 +0000)]
A+C: updated update

I updated my tool to deal with Github-only contributors without Gerrit
accounts. The "dep" repo is the main source of these, although there
are a few others.

Add Alexander Kauer (individual CLA)
Add Anders Pearson (individual CLA)
Add Brad Whitaker (corporate CLA for Fastly, Inc.)
Add Daisuke Fujita (individual CLA)
Add Daniel Upton (individual CLA)
Add David Volquartz Lebech (individual CLA)
Add Emilien Kenler (individual CLA)
Add Fazal Majid (corporate CLA for Apsalar)
Add Gustav Westling (individual CLA)
Add Henry Chang (individual CLA)
Add Jianqiao Li (corporate CLA for Google Inc.)
Add Jin-wook Jeong (individual CLA)
Add Kaleb Elwert (individual CLA)
Add Kashav Madan (individual CLA)
Add Koki Ide (individual CLA)
Add Konstantin (individual CLA)
Add Kyle Jones (individual CLA)
Add Leon Klingele (individual CLA)
Add Martin Olsen (individual CLA)
Add Máximo Cuadros Ortiz (individual CLA)
Add Miguel Molina (individual CLA)
Add Nathaniel Cook (individual CLA)
Add Neil Lyons (individual CLA)
Add Nick Robinson (individual CLA)
Add Niranjan Godbole (individual CLA)
Add Oleg Bulatov (individual CLA)
Add Oliver Tonnhofer (individual CLA)
Add Paul Querna (individual CLA)
Add Peter Bourgon (individual CLA)
Add Quentin Renard (individual CLA)
Add Ray Tung (individual CLA)
Add Rob Phoenix (individual CLA)
Add Ryan Boehning (individual CLA)
Add Sakeven Jiang (individual CLA)
Add Stephen Searles (individual CLA)
Add Steven Wilkin (individual CLA)
Add Sunny (individual CLA)
Add Ted Kornish (individual CLA)
Add Victor Vrantchan (individual CLA)
Add Wander Lairson Costa (individual CLA)
Add Zakatell Kanda (individual CLA)

Updates #12042

Change-Id: I2e4828cce880965c77b374c1e115d0e437d108c7
Reviewed-on: https://go-review.googlesource.com/46090
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agosyscall: mark forkAndExecInChild1 noinline
Austin Clements [Tue, 20 Jun 2017 19:59:02 +0000 (15:59 -0400)]
syscall: mark forkAndExecInChild1 noinline

This certainly won't get inlined right now, but in the spirit of
making this more robust, we have to disable inlining because inlining
would defeat the purpose of separating forkAndExecInChild1 into a
separate function.

Updates #20732.

Change-Id: I736c3f909cc42c5f5783740c2e19ba4827c7c2ec
Reviewed-on: https://go-review.googlesource.com/46174
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agosyscall: use CLONE_VFORK safely
Austin Clements [Tue, 20 Jun 2017 19:12:12 +0000 (15:12 -0400)]
syscall: use CLONE_VFORK safely

Currently, CLONE_VFORK is used without much regard to the stack. This
is dangerous, because anything the child does to the stack is visible
to the parent. For example, if the compiler were to reuse named stack
slots (which it currently doesn't do), it would be easy for the child
running in the same stack frame as the parent to corrupt local
variables that the parent then depended on. We're not sure of anything
specific going wrong in this code right now, but it is at best a
ticking time bomb.

CLONE_VFORK can only safely be used if we ensure the child does not
execute in any of the active stack frames of the parent. This commit
implements this by arranging for the parent to return immediately from
the frame the child will operate in, and for the child to never return
to the frame the parent will operate in.

Fixes #20732.

Change-Id: Iad5b4ddc2b994c082bd278bfd52ef53bd38c037f
Reviewed-on: https://go-review.googlesource.com/46173
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoRevert "cmd/vendor/github.com/google/pprof: refresh from upstream"
Alberto Donizetti [Tue, 20 Jun 2017 18:54:22 +0000 (18:54 +0000)]
Revert "cmd/vendor/github.com/google/pprof: refresh from upstream"

This reverts commit 3d13b5e00c9bc065d83e27d787a64adc683cea02.

Reason for revert: the new TestHttpsInsecure test breaks two darwin builders, the android builders, and one plan9 builder.

Change-Id: I09158e7d1bd2b3ffda57e7f2350f34eb9b62e784
Reviewed-on: https://go-review.googlesource.com/46158
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/vendor/github.com/google/pprof: refresh from upstream
Alberto Donizetti [Tue, 20 Jun 2017 15:40:21 +0000 (17:40 +0200)]
cmd/vendor/github.com/google/pprof: refresh from upstream

Updating to commit fffc5831a499a958516664a34cb7ba2b9e228793
from github.com/google/pprof

Fixes #19380

Change-Id: I7a0c64101f42b494c4a469c41628374272eccf95
Reviewed-on: https://go-review.googlesource.com/46155
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: add qualified mention of dep to FAQ
sam boyer [Sat, 17 Jun 2017 05:21:48 +0000 (01:21 -0400)]
doc: add qualified mention of dep to FAQ

This adds a qualified mention of golang/dep to the FAQ.

Fixes #19049

Change-Id: I42a114a008a6ca1250d849872dd98fd6523fa659
Reviewed-on: https://go-review.googlesource.com/46005
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agotesting: harmonize handling of prefix-matched benchmarks
Russ Cox [Fri, 16 Jun 2017 18:46:24 +0000 (14:46 -0400)]
testing: harmonize handling of prefix-matched benchmarks

If you have BenchmarkX1 with sub-benchmark Y
and you have BenchmarkX2 with no sub-benchmarks,
then

go test -bench=X/Y

runs BenchmarkX1 once with b.N=1 (to find out about Y)
and then not again, because it has sub-benchmarks,
but arguably also because we're interested in Y.

In contrast, it runs BenchmarkX2 in full, even though clearly
that is not relevant to the match X/Y. We do have to run X2
once with b.N=1 to probe for having X2/Y, but we should not
run it with larger b.N.

Fixes #20589.

Change-Id: Ib86907e844f34dcaac6cd05757f57db1019201d0
Reviewed-on: https://go-review.googlesource.com/46031
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
7 years agonet/http: update bundled http2
Brad Fitzpatrick [Mon, 19 Jun 2017 22:59:56 +0000 (22:59 +0000)]
net/http: update bundled http2

Updates http2 to x/net/http2 git rev 3d7ac2a5d for:

    http2: fix Server race
    https://golang.org/cl/20704

Fixes #20704

Change-Id: I803288f94a8a462ad0960b0c29c2dfee27b9f1ae
Reviewed-on: https://go-review.googlesource.com/46093
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Tom Bergan <tombergan@google.com>
Reviewed-by: Tom Bergan <tombergan@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/gofmt, go/printer: fix mis-alignment of comment on one-line function
Robert Griesemer [Fri, 16 Jun 2017 23:13:28 +0000 (16:13 -0700)]
cmd/gofmt, go/printer: fix mis-alignment of comment on one-line function

Fixes #19544.

Change-Id: I5df67383e9471f030ddafabadf2bc19ce6816f0f
Reviewed-on: https://go-review.googlesource.com/46002
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
7 years agoruntime: add read/write mutex type
Ian Lance Taylor [Thu, 15 Jun 2017 23:42:08 +0000 (16:42 -0700)]
runtime: add read/write mutex type

This is a runtime version of sync.RWMutex that can be used by code in
the runtime package. The type is not quite the same, in that the zero
value is not valid.

For future use by CL 43713.

Updates #19546

Change-Id: I431eb3688add16ce1274dab97285f555b72735bf
Reviewed-on: https://go-review.googlesource.com/45991
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
7 years agocmd/compile: permit Unicode spaces in (expanded) package paths
Robert Griesemer [Fri, 16 Jun 2017 21:48:38 +0000 (14:48 -0700)]
cmd/compile: permit Unicode spaces in (expanded) package paths

This doesn't change the existing restriction with disallows
spaces in import paths (as found in an import declaration).
It simply permits packages to be under a directory name that
may contain spaces.

Verified manually that it works. This could use a test, but the
change is trivial. We also can't use the existing test framework
(under test/) because the way those tests are run with test/run.go,
the mechanims for compiling a directory, even if it contains blanks
it its name, does't produce compiler paths with blanks
(the compilation is local).

Fixes #20306.

Change-Id: I6cbffb86c3394347897c3c94b110da0aadc5bfdf
Reviewed-on: https://go-review.googlesource.com/46001
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Rob Pike <r@golang.org>
7 years agodoc: website: changed link for cover
konstantin8105 [Sun, 18 Jun 2017 12:11:49 +0000 (15:11 +0300)]
doc: website: changed link for cover

Changed link for cover from x-tools to correct

Fix #20662

Change-Id: I9b839ed952e9abb12b3d1655ac4cf5976f374a4b
Reviewed-on: https://go-review.googlesource.com/46012
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: fix typo in Go 1.9 release notes
Kashav Madan [Sat, 17 Jun 2017 06:07:44 +0000 (02:07 -0400)]
doc: fix typo in Go 1.9 release notes

Change-Id: Ia5c8fcff000bf3d369d42407342c470ea92e18da
Reviewed-on: https://go-review.googlesource.com/46006
Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
7 years agoos: on OpenBSD implement Executable using Args[0]
Ian Lance Taylor [Sat, 17 Jun 2017 01:13:13 +0000 (18:13 -0700)]
os: on OpenBSD implement Executable using Args[0]

OpenBSD no longer has procfs.

Based on a patch by Matthieu Sarter.

Fixes #19453.

Change-Id: Ia09d16f8a1cbef2f8cc1c5f49e9c61ec7d026a40
Reviewed-on: https://go-review.googlesource.com/46004
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: fix description of Duration.Round
Heschi Kreinick [Fri, 16 Jun 2017 20:01:02 +0000 (16:01 -0400)]
doc: fix description of Duration.Round

Round doesn't always round away from zero.

Feel free to suggest better wording.

Change-Id: I52b3815013fff4c656ae8d861521c342bc4135b7
Reviewed-on: https://go-review.googlesource.com/46032
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: update bundled http2
Brad Fitzpatrick [Fri, 16 Jun 2017 20:37:21 +0000 (20:37 +0000)]
net/http: update bundled http2

Updates http2 to x/net/http2 git rev 973f3f3 for:

   http2: make Transport treat http.NoBody like it were nil
   https://golang.org/cl/45993

Updates #18891

Change-Id: I846ccf286992ed2c6249014e51fdeb40b35e50ed
Reviewed-on: https://go-review.googlesource.com/46000
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agonet: don't forget about ongoing DNS lookup if context canceled
Ian Lance Taylor [Fri, 16 Jun 2017 18:48:09 +0000 (11:48 -0700)]
net: don't forget about ongoing DNS lookup if context canceled

Only forget about it if the context timed out, as the comment says.

Fixes #20703.

Change-Id: Ie6234f1a32f85e6bfd052dc24a33aa63b8883c37
Reviewed-on: https://go-review.googlesource.com/45999
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoA+C: add a missing name
Brad Fitzpatrick [Fri, 16 Jun 2017 06:10:00 +0000 (06:10 +0000)]
A+C: add a missing name

Per email from acoshift.

Change-Id: Ieb79244d17623e112a385e6b43843d3ffb185cf6
Reviewed-on: https://go-review.googlesource.com/45995
Reviewed-by: Matt Layher <mdlayher@gmail.com>
7 years agodoc: note that Time.String changed in go1.9
Alberto Donizetti [Fri, 16 Jun 2017 12:40:34 +0000 (14:40 +0200)]
doc: note that Time.String changed in go1.9

Fixes #20702

Change-Id: Id90f08c33e3ccc37794b47fcd27f6c3f2f41c634
Reviewed-on: https://go-review.googlesource.com/46011
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/go: clarify test -run and -bench pattern matching
Russ Cox [Fri, 16 Jun 2017 15:16:37 +0000 (11:16 -0400)]
cmd/go: clarify test -run and -bench pattern matching

Make it clearer that -test=X/Y runs all the tests matching X,
even if they don't have sub-tests matching Y.

Fixes #20589.

Change-Id: Ic27e89e748d60f67b50c68445ec0480066bdf207
Reviewed-on: https://go-review.googlesource.com/46030
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agoencoding: fix endless loop in TestDecoderBuffering
Mark Ryan [Fri, 16 Jun 2017 10:34:28 +0000 (11:34 +0100)]
encoding: fix endless loop in TestDecoderBuffering

The ascii85, base32 and base64 packages all contain a test called
TestDecoderBuffering.  Each of these tests contain a loop that ignores
the error returned from the Read method of their decoders.  The result
being that the tests loop for ever if the decoders actually return an
error.  This commit fixes the issue by terminating the loops if an error
occurs and failing the tests with a suitable error message.

Change-Id: Idb385673cf9f3f6f8befe4288b4be366ab0985fd
Reviewed-on: https://go-review.googlesource.com/46010
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agoimage/gif: fix writeImageBlock with SubImages
Jed Denlea [Thu, 15 Jun 2017 22:53:09 +0000 (15:53 -0700)]
image/gif: fix writeImageBlock with SubImages

If an image has been cropped horizontally, writeImageBlock detects that
its width and Stride differ and acts accordingly.

However, if an image has been cropped vertically, trimming from the
bottom, the whole original image will be written in place.  This results
in more data in the LZW stream than necessary, and many decoders
including image/gif's itself will fail to load.

Fixes #20692

Change-Id: Id332877e31bcf3729c89d8a50c1be0464028d82e
Reviewed-on: https://go-review.googlesource.com/45972
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
Run-TryBot: Nigel Tao <nigeltao@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
7 years agoA+C: automated update
Brad Fitzpatrick [Thu, 15 Jun 2017 23:18:14 +0000 (23:18 +0000)]
A+C: automated update

Add Adam Eijdenberg (individual CLA)
Add Agis Anastasopoulos (individual CLA)
Add Alexander Guz (individual CLA)
Add Alexander Kucherenko (individual CLA)
Add Alexander Polcyn (corporate CLA for Google Inc.)
Add Alexis Hildebrandt (individual CLA)
Add Alexis Hunt (corporate CLA for Google Inc.)
Add Andrew Jackura (corporate CLA for Google Inc.)
Add Anthony Voutas (individual CLA)
Add Antoine Martin (individual CLA)
Add Antonio Troina (individual CLA)
Add Bill Prin (corporate CLA for Google Inc.)
Add Brad Jones (corporate CLA for Google Inc.)
Add Chris Raynor (corporate CLA for Google Inc.)
Add Chris Roche (individual CLA)
Add Daker Fernandes Pinheiro (corporate CLA for Intel Corporation)
Add Dave MacFarlane (individual CLA)
Add Derek McGowan (individual CLA)
Add Di Xiao (corporate CLA for Google Inc.)
Add Doug Fawley (corporate CLA for Google Inc.)
Add Eric Chiang (individual CLA)
Add Eyal Posener (individual CLA)
Add Fabian Zaremba (individual CLA)
Add Fredrik Forsmo (individual CLA)
Add Hang Qian (individual CLA)
Add Hsin Tsao (corporate CLA for Google Inc.)
Add James Cowgill (individual CLA)
Add James Hartig (individual CLA)
Add James Myers (individual CLA)
Add Jason Chu (individual CLA)
Add Jay Conrod (corporate CLA for Google Inc.)
Add Jeff (Zhefu) Jiang (corporate CLA for Google Inc.)
Add Jeffrey H (individual CLA)
Add Jianing Yu (corporate CLA for Google Inc.)
Add Josh Deprez (individual CLA)
Add Julian Pastarmov (corporate CLA for Google Inc.)
Add Kai Trukenmüller (individual CLA)
Add Kim Yongbin (individual CLA)
Add Kodie Goodwin (individual CLA)
Add Lev Shamardin (individual CLA)
Add Lucas Bremgartner (individual CLA)
Add Ludi Rehak (individual CLA)
Add Lukasz Milewski (individual CLA)
Add Magnus Hiie (corporate CLA for Teleport Inc.)
Add Marko Mudrinic (individual CLA)
Add Martin Habbecke (corporate CLA for Google Inc.)
Add Martin Hoefling (individual CLA)
Add Martin Probst (individual CLA)
Add Masahiro Furudate (individual CLA)
Add Masahiro Wakame (individual CLA)
Add Masaki Yoshida (individual CLA)
Add Mathias Hall-Andersen (individual CLA)
Add Maxime de Roucy (individual CLA)
Add Nathan Humphreys (individual CLA)
Add Neuman Vong (individual CLA)
Add Pablo Lalloni (individual CLA)
Add Pavlo Sumkin (individual CLA)
Add Peter Morjan (individual CLA)
Add Piers (individual CLA)
Add Qiuxuan Zhu (individual CLA)
Add Richard Dingwall (individual CLA)
Add Rick Sayre (individual CLA)
Add Sascha Brawer (individual CLA)
Add Sergey Mishin (individual CLA)
Add Spencer Tung (corporate CLA for Google Inc.)
Add Steven Erenst (individual CLA)
Add Thomas Bouldin (corporate CLA for Google Inc.)
Add Tobias Klauser (individual CLA)
Add Tonis Tiigi (individual CLA)
Add Trung Nguyen (individual CLA)
Add Vikas Kedia (corporate CLA for Google Inc.)
Add Vladimir Varankin (individual CLA)
Add Yestin Sun (individual CLA)
Add acoshift (individual CLA)

Updates #12042

Change-Id: I5e3ba25f310fc89ae391e5abb308e137d56c9148
Reviewed-on: https://go-review.googlesource.com/45990
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet: handle spurious netpoll wakeups in connect
Ian Lance Taylor [Thu, 15 Jun 2017 02:55:40 +0000 (19:55 -0700)]
net: handle spurious netpoll wakeups in connect

In some cases the netpoll code can cause a spurious wakeup. This is
normally harmless, as the woken up code simply retries the operation.
However, for connect, the test we were using to see whether the
connect had succeeded (setsockopt(SO_ERROR)) was not reliable in the
case of a spurious wakeup.  Change to using a reliable test (getpeername).
On Darwin we used a different technique: a second call to connect;
change Darwin to use getpeername as well.

Return the result of getpeername to avoid having to call it twice.

Fixes #19289.

Change-Id: I119ec8e7a41f482f1e590d4c65a37f6103fa22d9
Reviewed-on: https://go-review.googlesource.com/45815
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agocmd/compile: fix crash in importer when running in debug mode
Robert Griesemer [Thu, 15 Jun 2017 22:05:03 +0000 (15:05 -0700)]
cmd/compile: fix crash in importer when running in debug mode

Verified by manually enabling debug mode and running make.bash.

Fixes #20684.

Change-Id: I041f2ca6ef1d4198815724d98f61511072d63581
Reviewed-on: https://go-review.googlesource.com/45971
Run-TryBot: Robert Griesemer <gri@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/compile: add regress test for #20682
Matthew Dempsky [Thu, 15 Jun 2017 21:47:05 +0000 (14:47 -0700)]
cmd/compile: add regress test for #20682

Minimal reconstruction of reported failure case.

Manually verified that test fails with CL 45911 reverted.

Change-Id: Ia5d11500d91b46ba1eb5d841db3987edb9136c39
Reviewed-on: https://go-review.googlesource.com/45970
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agopath/filepath: fix TestGlobError
Dominik Honnef [Thu, 15 Jun 2017 20:18:24 +0000 (22:18 +0200)]
path/filepath: fix TestGlobError

Change-Id: I7776547332066e1d7651e9aa06eec301dfaf38bc
Reviewed-on: https://go-review.googlesource.com/45892
Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/compile: better error for malformed packages
Matthew Dempsky [Thu, 15 Jun 2017 20:52:13 +0000 (13:52 -0700)]
cmd/compile: better error for malformed packages

Fixes #14270.

Change-Id: Iaf2496a24b1aba443391b90951cef472add73f13
Reviewed-on: https://go-review.googlesource.com/45950
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

7 years agocmd/go: improve documentation on defaults for get
Marko Mudrinic [Thu, 15 Jun 2017 17:15:47 +0000 (19:15 +0200)]
cmd/go: improve documentation on defaults for get

The existing docs states that, get looks for a branch or tag
that matches the locally installed version of Go.
First, this is only working for "go1", so it could be confusing.
Second, "If no such version exists it retrieves the most recent
version of the package". It's more the default branch, by git defaults,
rather than most recent version.

This should address the potential unclear parts.

Fixes #20320

Change-Id: Id7d727d88dc350c9902974b64fa28c3766f7e245
Reviewed-on: https://go-review.googlesource.com/45890
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agonet/http: add a known goroutine, don't check goroutine leaks in benchmark mode
Brad Fitzpatrick [Thu, 15 Jun 2017 19:32:36 +0000 (19:32 +0000)]
net/http: add a known goroutine, don't check goroutine leaks in benchmark mode

Change-Id: I8aa070f8093e80ba19f0546d7447caf847a2b388
Reviewed-on: https://go-review.googlesource.com/45912
Reviewed-by: Ian Lance Taylor <iant@golang.org>
7 years agoRevert "cmd/compile: skip reexporting types in reexportdep"
Matthew Dempsky [Thu, 15 Jun 2017 17:47:57 +0000 (10:47 -0700)]
Revert "cmd/compile: skip reexporting types in reexportdep"

This reverts commit edad59cfae70d2bfb9cdf66e2492f9a1c1318ddc.

Fixes #20682.

Change-Id: If998c8b4bf177d5da9e26f75579bd5497ec86d38
Reviewed-on: https://go-review.googlesource.com/45911
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
7 years agodoc: fix typo in go1.9 release notes
Alberto Donizetti [Thu, 15 Jun 2017 18:02:44 +0000 (20:02 +0200)]
doc: fix typo in go1.9 release notes

Change-Id: I64d32fd308f2b7968dfaf11cdc85ab1952170868
Reviewed-on: https://go-review.googlesource.com/45891
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agodoc: mention that os package now uses poller
Ian Lance Taylor [Thu, 15 Jun 2017 17:29:34 +0000 (10:29 -0700)]
doc: mention that os package now uses poller

Updates #20587

Change-Id: I428d20bf8512ba859cc63c439bd5d92a5173fad2
Reviewed-on: https://go-review.googlesource.com/45910
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
7 years agonet/http: document SOCKS5 proxy support
Kale Blankenship [Thu, 15 Jun 2017 02:44:20 +0000 (19:44 -0700)]
net/http: document SOCKS5 proxy support

Fixes #20618

Change-Id: I90712bd76d9d47f29221bc298c69737ebee25c12
Reviewed-on: https://go-review.googlesource.com/45814
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>