- 06 Feb, 2017 2 commits
-
-
Cherry Zhang authored
Fixes #18933. Change-Id: I1ab524fdca006100ec6af572065b496f68d6a5c3 Reviewed-on: https://go-review.googlesource.com/36413 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
This CL fixes two issues: 1. Load ops were initially always lowered to unsigned loads, even for signed types. This was fine by itself however LoadReg ops (used to re-load spilled values) were lowered to signed loads for signed types. This meant that spills could invalidate optimizations that assumed the original unsigned load. 2. Types were not always being maintained correctly through rules designed to eliminate unnecessary zero and sign extensions. Updates #18906 and fixes #18958 (backport of CL 36256 to 1.8). Change-Id: Id44953b0f644cad047e8474edbd24e8a344ca9a7 Reviewed-on: https://go-review.googlesource.com/36350Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 02 Feb, 2017 1 commit
-
-
Alberto Donizetti authored
Fixes #18845 Fixes #18870 (Go 1.8 backport) Change-Id: Icdc3e2067807781e42f2ffc94d1824aed94d3713 Reviewed-on: https://go-review.googlesource.com/35956 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> (cherry picked from commit 7d8bfdde) Reviewed-on: https://go-review.googlesource.com/36125
-
- 01 Feb, 2017 1 commit
-
-
Filippo Valsorda authored
Change-Id: I82c41bd1d82adda457ddb5dd08caf0647905da22 Reviewed-on: https://go-review.googlesource.com/36091Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit de479267) Reviewed-on: https://go-review.googlesource.com/36130
-
- 31 Jan, 2017 1 commit
-
-
Russ Cox authored
After this, we will merge some of the dev work like type aliases and inlining into master, so any additional changes for the Go 1.8 release will need to be cherry-picked, not merged. 3e55059f cmd/dist: really skip the testsanitizers tests on Android 09496599 runtime: add explicit (void) in C to avoid GCC 7 problem 4cffe2b6 cmd/dist: use the target GOOS to skip the test for issue 18153 6bdb0c11 doc: update go1.8 release notes after TxOptions change 09096bd3 cmd/go: update alldocs after CL 35150 96ea0918 cmd/compile: use CMPWU for 32-bit or smaller unsigned Geq on ppc64{,le} 21a8db1c doc: document go1.7.5 Change-Id: I9e6a30c3fac43d4d4d15e93054ac00964c3ee958
-
- 30 Jan, 2017 2 commits
-
-
Elias Naur authored
The test.bash script in misc/cgo/testsanitizers use GOOS, not GOHOSTOS. Fix the dist check from gohostos to goos accordingly. The error was masked on the builders because they run on a darwin host where the sanitizers tests never ran. With this change, the Android test suite completes successfully on Android/amd64. Change-Id: Id7690429f78c6ac7a26fc9118d913b719b565bb2 Reviewed-on: https://go-review.googlesource.com/35959Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
This avoids errors like ./traceback.go:80:2: call of non-function C.f1 I filed https://gcc.gnu.org/PR79289 for the GCC problem. I think this is a bug in GCC, and it may be fixed before the final GCC 7 release. This CL is correct either way. Fixes #18855. Change-Id: I0785a7b7c5b1d0ca87b454b5eca9079f390fcbd4 Reviewed-on: https://go-review.googlesource.com/35919 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
- 29 Jan, 2017 2 commits
-
-
Elias Naur authored
Fixes (skips) the test on Android, where stdout/stderr are not terminals. Updates #18153 Change-Id: Ieca65150362a5c423747ad751e00f76f0b890746 Reviewed-on: https://go-review.googlesource.com/35957 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Theophanes authored
Missed the release notes when updating the sql API. Fixes #18825 Change-Id: I89056d46939ad4fc99590f3434d2881f5764e1b6 Reviewed-on: https://go-review.googlesource.com/35915Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Jan, 2017 1 commit
-
-
Alberto Donizetti authored
Author of CL 35150 forgot to run mkalldocs.sh to update the autogenerated alldocs.go Change-Id: Ib824562db6044702456a221a8c6f9af412927a98 Reviewed-on: https://go-review.googlesource.com/35952Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 27 Jan, 2017 1 commit
-
-
Michael Munday authored
Fixes #18808. Change-Id: I49b266380b9d6804c9f6563ebac9c7c0e05f37f6 Reviewed-on: https://go-review.googlesource.com/35890 Run-TryBot: Michael Munday <munday@ca.ibm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 26 Jan, 2017 6 commits
-
-
Chris Broadfoot authored
Change-Id: Ie306bb5355f56113356fc141f3c1a56872b39f9e Reviewed-on: https://go-review.googlesource.com/35836Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
Change-Id: Ic8d4e971edebba9412f2e7c3d3c29f296c4977ff Reviewed-on: https://go-review.googlesource.com/35833Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Chris Broadfoot authored
78860b2a cmd/go: don't reject ./... matching top-level file outside GOPATH 2b283ced database/sql: fix race when canceling queries immediately 1cf08182 go/printer: fix format with leading comments in composite literal b531eb30 runtime: reorder modules so main.main comes first 165cfbc4 database/sql: let tests wait for db pool to come to expected state ea736493 doc: update gccgo docs 1db16711 doc: clarify what to do with Go 1.4 when installing from source 3717b429 doc: note that plugins are not fully baked 98842cab net/http: don't send body on redirects for 301, 302, 303 when GetBody is set 314180e7 net/http: fix a nit aad06da2 cmd/link: mark DWARF function symbols as reachable be9dcfec doc: mention testing.MainStart signature change a96e117a runtime: amd64, use 4-byte ops for memmove of 4 bytes 4cce27a3 cmd/compile: fix constant propagation through s390x MOVDNE instructions 1be957d7 misc/cgo/test: pass current environment to syscall.Exec ec654e22 misc/cgo/test: fix test when using GCC 7 256a605f cmd/compile: don't use nilcheck information until the next block e8d5989e cmd/compile: fix compilebench -alloc ea7d9e6a runtime: check for nil g and m in msanread Change-Id: I61d508d4f0efe4b72e7396645c8ad6088d2bfa6e
-
Ian Lance Taylor authored
This unwinds a small part of CL 31668: we now accept "./." in cleanImport. Fixes #18778. Change-Id: Ia7f1fde1cafcea3cc9e0b597a95a0e0bb410a3ed Reviewed-on: https://go-review.googlesource.com/35646 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Daniel Theophanes authored
Previously the following could happen, though in practice it would be rare. Goroutine 1: (*Tx).QueryContext begins a query, passing in userContext Goroutine 2: (*Tx).awaitDone starts to wait on the context derived from the passed in context Goroutine 1: (*Tx).grabConn returns a valid (*driverConn) The (*driverConn) passes to (*DB).queryConn Goroutine 3: userContext is canceled Goroutine 2: (*Tx).awaitDone unblocks and calls (*Tx).rollback (*driverConn).finalClose obtains dc.Mutex (*driverConn).finalClose sets dc.ci = nil Goroutine 1: (*DB).queryConn obtains dc.Mutex in withLock ctxDriverPrepare accepts dc.ci which is now nil ctxCriverPrepare panics on the nil ci The fix for this is to guard the Tx methods with a RWLock holding it exclusivly when closing the Tx and holding a read lock when executing a query. Fixes #18719 Change-Id: I37aa02c37083c9793dabd28f7f934a1c5cbc05ea Reviewed-on: https://go-review.googlesource.com/35550 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
This fix is less pervasive than it seems. The only change affecting formatting is on printer.go:760. The remaining changes have no effect on formatting since the value of p.level is ignored except on this specific line. The remaining changes are: - renamed adjBlock to funcBody since that's how it is used - introduced new printer field 'level' tracking the composite literal nesting level - update/restore the composite literal nesting level as needed Fixes #18782. Change-Id: Ie833a9b5a559c4ec0f2eef2c5dc97aa263dca53a Reviewed-on: https://go-review.googlesource.com/35811Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 25 Jan, 2017 2 commits
-
-
David Crawshaw authored
Modules appear in the moduledata linked list in the order they are loaded by the dynamic loader, with one exception: the firstmoduledata itself the module that contains the runtime. This is not always the first module (when using -buildmode=shared, it is typically libstd.so, the second module). The order matters for typelinksinit, so we swap the first module with whatever module contains the main function. Updates #18729 This fixes the test case extracted with -linkshared, and now go test -linkshared encoding/... passes. However the original issue about a plugin failure is not yet fixed. Change-Id: I9f399ecc3518e22e6b0a350358e90b0baa44ac96 Reviewed-on: https://go-review.googlesource.com/35644 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Theophanes authored
Slower builders were failing TestQueryContext because the cancel and return to conn pool happens async. TestQueryContext already uses a wait method for this reason. Use the same method for other context tests. Fixes #18759 Change-Id: I84cce697392b867e4ebdfadd38027a06ca14655f Reviewed-on: https://go-review.googlesource.com/35750Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 24 Jan, 2017 7 commits
-
-
Ian Lance Taylor authored
Update docs on correspondence between Go releases and GCC releases. Update C type that corresponds to Go type `int`. Drop out of date comments about Ubuntu and RTEMS. Change-Id: Ic1b5ce9f242789af23ec3b7e7a64c9d257d6913e Reviewed-on: https://go-review.googlesource.com/35631 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
You have to actually run make.bash (or make.bat). Update #18771. Change-Id: Ie6672a4e4abde0150c1ae57cabb1222de2c78716 Reviewed-on: https://go-review.googlesource.com/35632Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: I6341b8cce0b4a9922928f73f8b459cbb9ec25e79 Reviewed-on: https://go-review.googlesource.com/35571Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Brad Fitzpatrick authored
The presence of Request.GetBody being set on a request was causing all redirected requests to have a body, even if the redirect status didn't warrant one. This bug came from 307/308 support (https://golang.org/cl/29852) which removed the line that set req.Body to nil after POST/PUT redirects. Change-Id: I2a4dd5320f810ae25cfd8ea8ca7c9700e5dbd369 Reviewed-on: https://go-review.googlesource.com/35633 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Mikio Hara authored
Change-Id: I31fa5f906ad2e8dc475dbbeb91f568f91e16861b Reviewed-on: https://go-review.googlesource.com/35514 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Otherwise we don't emit any required ELF relocations when doing an external link, because elfrelocsect skips unreachable symbols. Fixes #18745. Change-Id: Ia3583c41bb6c5ebb7579abd26ed8689370311cd6 Reviewed-on: https://go-review.googlesource.com/35590 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Brad Fitzpatrick authored
Fixes #18766 Change-Id: Ic0f72f3b7bbccd0546692993c4ed414f8c88c1c6 Reviewed-on: https://go-review.googlesource.com/35573Reviewed-by: Russ Cox <rsc@golang.org>
-
- 23 Jan, 2017 1 commit
-
-
Keith Randall authored
memmove used to use 2 2-byte load/store pairs to move 4 bytes. When the result is loaded with a single 4-byte load, it caused a store to load fowarding stall. To avoid the stall, special case memmove to use 4 byte ops for the 4 byte copy case. We already have a special case for 8-byte copies. 386 already specializes 4-byte copies. I'll do 2-byte copies also, but not for 1.8. benchmark old ns/op new ns/op delta BenchmarkIssue18740-8 7567 4799 -36.58% 3-byte copies get a bit slower. Other copies are unchanged. name old time/op new time/op delta Memmove/3-8 4.76ns ± 5% 5.26ns ± 3% +10.50% (p=0.000 n=10+10) Fixes #18740 Change-Id: Iec82cbac0ecfee80fa3c8fc83828f9a1819c3c74 Reviewed-on: https://go-review.googlesource.com/35567 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
- 21 Jan, 2017 1 commit
-
-
Michael Munday authored
The constant propagation rules selected the wrong operand to propagate. So MOVDNE (move if not equal) propagated operands as if it were a MOVDEQ (move if equal). Fixes #18735. Change-Id: I87ac469172f9df7d5aabaf7106e2936ce54ae202 Reviewed-on: https://go-review.googlesource.com/35498 Run-TryBot: Michael Munday <munday@ca.ibm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 20 Jan, 2017 4 commits
-
-
Ian Lance Taylor authored
This is needed for typical tests with gccgo, as it passes the LD_LIBRARY_PATH environment variable to the new program. Change-Id: I9bf4b0dbdff63f5449c7fcb8124eaeab10ed7f34 Reviewed-on: https://go-review.googlesource.com/35481 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
With GCC 7 (not yet released), cgo fails with errors like ./sigaltstack.go:65:8: call of non-function C.restoreSignalStack I do not know precisely why. Explicitly declaring that there are no arguments to the static function is a simple fix for the debug info. Change-Id: Id96e1cb1e55ee37a9f1f5ad243d7ee33e71584ac Reviewed-on: https://go-review.googlesource.com/35480 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
When nilcheck runs, the values in a block are not in any particular order. So any facts derived from examining the blocks shouldn't be used until we reach the next block. This is suboptimal as it won't eliminate nil checks within a block. But it's probably a better fix for now as it is a much smaller change than other strategies for fixing this bug. nilptr3.go changes are mostly because for this pattern: _ = *p _ = *p either nil check is fine to keep, and this CL changes which one the compiler tends to keep. There are a few regressions from code like this: _ = *p f() _ = *p For this pattern, after this CL we issue 2 nil checks instead of one. (For the curious, this happens because intra-block nil check elimination now falls to CSE, not nilcheck proper. The former pattern has two nil checks with the same store argument. The latter pattern has two nil checks with different store arguments.) Fixes #18725 Change-Id: I3721b494c8bc9ba1142dc5c4361ea55c66920ac8 Reviewed-on: https://go-review.googlesource.com/35485Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Josh Bleecher Snyder authored
pprof.WriteHeapProfile is shorthand for pprof.Lookup("heap").WriteTo(f, 0). The second parameter is debug. If it is non-zero, pprof writes legacy-format pprof output, which compilebench can parse. Fixes #18641 Change-Id: Ica69adeb9809e9b5933aed943dcf4a07910e43fc Reviewed-on: https://go-review.googlesource.com/35484 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 19 Jan, 2017 4 commits
-
-
Bryan C. Mills authored
fixes #18707. Change-Id: Ibc4efef01197799f66d10bfead22faf8ac00473c Reviewed-on: https://go-review.googlesource.com/35452 Run-TryBot: Bryan Mills <bcmills@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Chris Broadfoot authored
Change-Id: Ifcf2e13b962aa10280df8ca76cb21b37e3533f8f Reviewed-on: https://go-review.googlesource.com/35475 Run-TryBot: Chris Broadfoot <cbro@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Chris Broadfoot authored
6593d865 go/ast: fix Object's doc comment about Data c1730ae4 runtime: force workers out before checking mark roots d10eddcb testing: make parallel t.Run safe again 2c8b70ea crypto/x509: revert SystemCertPool implementation for Windows fcfd9185 doc/go1.8: document Plan 9 requirements 81a61a96 runtime: for plugins, don't add duplicate itabs f674537c README.md: update and simplify d8711919 cmd/go: fix bug help message 48d8edb5 crypto/tls: disable CBC cipher suites with SHA-256 by default 92ecd789 cmd/compile: add ZeroWB case in writebarrier 787125ab doc: 2017 is the Year of the Gopher 5b708a6b cmd/compile: lvalues are only required for == when calling runtime fns e83d5067 vendor/golang_org/x/crypto/poly1305: revendor to pick up fix for #18673 76f981c8 net/http: skip TestServerHijackGetsBackgroundByte on Plan 9 e395e324 net/http: skip TestServerHijackGetsBackgroundByte_big on Plan 9 6a3c6c0d net/http: add another hijack-after-background-read test 467109bf all: test adjustments for the iOS builder b2a3b54b net/http: make sure Hijack's bufio.Reader includes pre-read background byte 593ea3b3 cmd/go, misc: rework cwd handling for iOS tests 0642b8a2 syscall: export Fsid.X__val on s390x 4601eae6 doc/gdb: mention GOTRACEBACK=crash 4c4c5fc7 misc/cgo/testplugin: test that types and itabs are unique 22689c44 reflect: keep makeFuncImpl live across makeFuncStub 9cf06ed6 cmd/link: only exclude C-only symbols on darwin 9c3630f5 compress/flate: avoid large stack growth in fillDeflate 4f0aac52 cmd/go: add comment about SIGUSR2 on iOS 333f764d cmd/go, misc: switch from breakpoint to SIGUSR2 39e31d5e doc/go1.8: update timezone database version 08da8201 misc/cgo/testshared: test that types and itabs are unique fdde7ba2 runtime: avoid clobbering C callee-save register in cgoSigtramp f65abf6d cmd/compile: hide testdclstack behind debug flag 641ef2a7 compress/gzip: skip TestGZIPFilesHaveZeroMTimes on non-builders 0724aa81 crypto/dsa: gofmt ac055429 net/http: deflake TestRetryIdempotentRequestsOnError b842c9aa doc: remove inline styles Change-Id: I642c056732fe1e8081e9d73e086e38ea0b2568cc
-
Hironao OTSUBO authored
The doc comment about the Data field of go/ast.Object reflects its old behavior, from when the go/types typechecker depended on ast.Objects. Since when the doc was written, the behavior has changed in https://golang.org/cl/7058060 and https://golang.org/cl/7096048 . Fixes #18631 Change-Id: I10fc3e31cfbf7b303eec44150df917f6eb285f90 Reviewed-on: https://go-review.googlesource.com/35075Reviewed-by: Robert Griesemer <gri@golang.org>
-
- 18 Jan, 2017 4 commits
-
-
Austin Clements authored
Currently we check that all roots are marked as soon as gcMarkDone decides to transition from mark 1 to mark 2. However, issue #16083 indicates that there may be a race where we try to complete mark 1 while a worker is still scanning a stack, causing the root mark check to fail. We don't yet understand this race, but as a simple mitigation, move the root check to after gcMarkDone performs a ragged barrier, which will force any remaining workers to finish their current job. Updates #16083. This may "fix" it, but it would be better to understand and fix the underlying race. Change-Id: I1af9ce67bd87ade7bc2a067295d79c28cd11abd2 Reviewed-on: https://go-review.googlesource.com/35353 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
Fixes #18603. Change-Id: I5760c0a9f862200b7e943058a672eb559ac1b9d9 Reviewed-on: https://go-review.googlesource.com/35354 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Updates #18609 Change-Id: I8306135660f52cf625bed4c7f53f632e527617de Reviewed-on: https://go-review.googlesource.com/35265 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Quentin Smith <quentin@golang.org>
-
David du Colombier authored
Fixes #18610. Change-Id: I19da4d59a1b6293c9a4722aa696e2cb58d982a15 Reviewed-on: https://go-review.googlesource.com/35333Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-