- 19 Aug, 2016 2 commits
-
-
Brad Fitzpatrick authored
Fixes #16761 Change-Id: I709daa87926a31e5f8fd46a4c5ef69718ae349b1 Reviewed-on: https://go-review.googlesource.com/27209Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Brad Fitzpatrick authored
Fixes #16782 Change-Id: If54917bf5ca1588d8a6d443c3aa6e1d4ada6b620 Reviewed-on: https://go-review.googlesource.com/27322Reviewed-by: anatoly techtonik <techtonik@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 18 Aug, 2016 21 commits
-
-
Josh Bleecher Snyder authored
Large shifts of constants are frequently used for fancy 32/64 bit detection. This removes 14 false positives from the standard library. Updates #11041 Change-Id: Ib39346e5c161da04c38a6a3067932ef43bf74f2d Reviewed-on: https://go-review.googlesource.com/27155 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Adam Langley authored
If SetSessionTicketKeys was called on a fresh tls.Config, the configured keys would be overridden with a random key by serverInit. Fixes #15421. Change-Id: I5d6cc81fc3e5de4dfa15eb614d102fb886150d1b Reviewed-on: https://go-review.googlesource.com/27317Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
Fixes #14647. Change-Id: Ib9012a9141e815f5b95f8ca2307e65ffc4587a5b Reviewed-on: https://go-review.googlesource.com/27370Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Adam Langley authored
This was pointed out in https://go-review.googlesource.com/#/c/27315/1 but I changed and uploaded the wrong branch. This actually makes the fix. Change-Id: Ib615b06c9141b914648b6abbeeb688c5ffa0d2e3 Reviewed-on: https://go-review.googlesource.com/27360Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: I42597785be6121d8180520b3f7d8e936464f0048 Reviewed-on: https://go-review.googlesource.com/27361Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
These were new with TLS 1.2 and, reportedly, some servers require it. Since it's easy, this change adds suport for three flavours of AES-128-CBC with SHA-256 MACs. Other testdata/ files have to be updated because this changes the list of cipher suites offered by default by the client. Fixes #15487. Change-Id: I1b14330c31eeda20185409a37072343552c3464f Reviewed-on: https://go-review.googlesource.com/27315 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Jonathan Rudenberg <jonathan@titanous.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Change-Id: I9a7654a6d623add8542a1c34ccc76ea136a9a7e3 Reviewed-on: https://go-review.googlesource.com/27359Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Change-Id: Ie6dd2318e031be445c0b1ae65d4c78723d5a1167 Reviewed-on: https://go-review.googlesource.com/27197 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
Syntax tree nodes, scanner, parser, basic printers. Builds syntax trees for entire Go std lib at a rate of ~1.8M lines/s in warmed up state (MacMini, 2.3 GHz Intel Core i7, 8GB RAM): $ go test -run StdLib -fast parsed 1074617 lines (2832 files) in 579.66364ms (1853863 lines/s) allocated 282.212Mb (486.854Mb/s) PASS Change-Id: Ie26d9a7bf4e5ff07457aedfcc9b89f0eba72ae3f Reviewed-on: https://go-review.googlesource.com/27195 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
I accidentally included a modified spec in https://go-review.googlesource.com/27290 . Remove that change. Change-Id: Icb62fe829072860e9eb74865d21e06f30efcfd26 Reviewed-on: https://go-review.googlesource.com/27357Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
The changes match the existing compilers, and assume an adjusted spec (per issue #16794). Fixes #15686. Change-Id: I72677ce75888c41a8f3c2963117a2f2d5501c42b Reviewed-on: https://go-review.googlesource.com/27290Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Josh Bleecher Snyder authored
The trybot flakes are a nuisance. Updates #16396 Change-Id: I8202adb554391676ba82bca44d784c6a81bf2085 Reviewed-on: https://go-review.googlesource.com/27313 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
Fixes #14092. Change-Id: I00692f60a416348e38cab256b94fda07e334d258 Reviewed-on: https://go-review.googlesource.com/27316Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Josh Bleecher Snyder authored
Follow-up to CL 27156 Change-Id: I4f1cfced2dced9c9fc8a05bbc00ec4229e85c5c9 Reviewed-on: https://go-review.googlesource.com/27314Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
Only remove stores that is shadowed by another store with same or larger size. Normally we don't need this check because we did check the types, but unsafe pointer casting can get around it. Fixes #16769. Change-Id: I3f7c6c57807b590a2f735007dec6c65a4fa01a34 Reviewed-on: https://go-review.googlesource.com/27320 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
David Chase authored
This time with the cherry-pick from the proper patch of the old CL. Stack size increased. Corrected NaN-comparison glitches. Marked g register as clobbered by calls. Fixed shared libraries. live_ssa.go still disabled because of differences. Presumably turning on more optimization will fix both the stack size and the live_ssa.go glitches. Enhanced debugging output for shared libs test. Rebased onto master. Updates #16010. Change-Id: I40864faf1ef32c118fb141b7ef8e854498e6b2c4 Reviewed-on: https://go-review.googlesource.com/27159 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Brad Fitzpatrick authored
It is no longer used by Go. It's now moved to golang.org/x/tools/cmd/goyacc for anybody who needs it. Fixes #11229 Change-Id: Ia431d5a380c7ff784a2050dee2f5bc8acee015da Reviewed-on: https://go-review.googlesource.com/27325 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Michael Matloob authored
This is a copy of golang.org/cl/22092 by Ryan Brown. Here's his original comment: On my machine this increases the average time for 'go build cmd/go' from 2.25s to 2.36s. I tried to measure compile and link separately but saw no significant change. Change-Id: If0d2b756d52a0d30d4eda526929c82794d89dd7b Reviewed-on: https://go-review.googlesource.com/25311 Run-TryBot: Michael Matloob <matloob@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Josh Bleecher Snyder authored
fmt treats interfaces as being transparent. As a result, we cannot say with confidence that any particular verb is wrong. This fixes the following vet false positives in the standard library: database/sql/sql_test.go:210: arg dep for printf verb %p of wrong type: sql.finalCloser fmt/fmt_test.go:1663: arg nil for printf verb %s of wrong type: untyped nil go/ast/commentmap.go:328: arg node for printf verb %p of wrong type: ast.Node net/http/transport_test.go:120: arg c for printf verb %p of wrong type: net.Conn net/http/httptest/server.go:198: arg c for printf verb %p of wrong type: net.Conn net/http/httputil/dump_test.go:258: arg body for printf verb %p of wrong type: io.Reader reflect/set_test.go:81: arg x for printf verb %p of wrong type: io.Writer reflect/set_test.go:141: arg bb for printf verb %p of wrong type: io.Reader Updates #11041 Updates #16314 Change-Id: I76df01abb3c34a97b6960f551bed9c1c91377cfc Reviewed-on: https://go-review.googlesource.com/27127 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Alex Brainman authored
CL 22720 hid all recently added functionality for go1.7. Make everything exported again, so we could use it now. Updates #15345 Change-Id: Id8ccba7199422b554407ec14c343d2c28fbb8f72 Reviewed-on: https://go-review.googlesource.com/27212 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Adam Langley authored
Although the term “RSA” is almost synonymous with PKCS#1 v1.5, that standard is quite flawed, cryptographically speaking. Bellare and Rogaway fixed PKCS#1 v1.5 with OAEP (for encryption) and PSS (for signatures) but they only see a fraction of the use of v1.5. This change adds support for creating and verifying X.509 certificates that use PSS signatures. Sadly, every possible dimension of flexibility seems to have been reflected in the integration of X.509 and PSS resulting in a huge amount of excess complexity. This change only supports one “sane” configuration for each of SHA-{256, 384, 512}. Hopefully this is sufficient because it saves a lot of complexity in the code. Although X.509 certificates with PSS signatures are rare, I'm inclined to look favourably on them because they are sufficiently superior. Fixes #15958. Change-Id: I7282e0b68ad0177209f8b2add473b94aa5224c07 Reviewed-on: https://go-review.googlesource.com/24743 Run-TryBot: Adam Langley <agl@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 17 Aug, 2016 17 commits
-
-
Adam Langley authored
The RFC is clear that the Parameters in an AlgorithmIdentifer for an RSA public key must be NULL. BoringSSL enforces this so we have strong evidence that this is a widely compatible change. Embarrassingly enough, the major source of violations of this is us. Go used to get this correct in only one of two places. This was only fixed in 2013 (with 4874bc9b). That's why lots of test certificates are updated in this change. Fixes #16166. Change-Id: Ib9a4551349354c66e730d44eb8cee4ec402ea8ab Reviewed-on: https://go-review.googlesource.com/27312Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
name old time/op new time/op delta Encode/256-4 431ns ± 2% 391ns ± 2% -9.36% (p=0.000 n=8+8) Encode/1024-4 1.68µs ± 0% 1.51µs ± 0% -9.91% (p=0.001 n=7+7) Encode/4096-4 6.68µs ± 0% 6.03µs ± 1% -9.69% (p=0.000 n=8+8) Encode/16384-4 27.0µs ± 1% 24.0µs ± 0% -11.03% (p=0.000 n=8+7) Change-Id: I6994e02f77797349c4e188377d84f97dffe98399 Reviewed-on: https://go-review.googlesource.com/27254Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
This was fixed long ago but the test was not enabled. For #8189. Change-Id: Ia44ef752b6bf076f3e243d2d0db326a392a20193 Reviewed-on: https://go-review.googlesource.com/27310 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
subtle.ConstantTimeCompare now tests the length of the inputs (although it didn't when this code was written) so this test in crypto/hmac is now superfluous. Fixes #16336. Change-Id: Ic02d8537e776fa1dd5694d3af07a28c4d840d14b Reviewed-on: https://go-review.googlesource.com/27239Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
If the SerialNumber is nil in the template then the resulting panic is rather deep in encoding/asn1 and it's not obvious what went wrong. This change tests and returns a more helpful error in this case. Fixes #16603. Change-Id: Ib30d652555191eb78f705dff8d909e4b5808f9ca Reviewed-on: https://go-review.googlesource.com/27238Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jaana Burcu Dogan authored
Change-Id: I82eaf5c14a5b8b9ec088409f946adf7b5fd5dbe3 Reviewed-on: https://go-review.googlesource.com/27311Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jess Frazelle authored
Fixes #13993 Change-Id: Ic61b2bcd9f4f71457d3a8581574633d505d5750e Reviewed-on: https://go-review.googlesource.com/27240 Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Robert Griesemer authored
Now matches the gc compiler. Fixes #15594. Change-Id: I9f3942367bc0acf883c6216b8ca44820832f5fe3 Reviewed-on: https://go-review.googlesource.com/27241 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Radu Berinde authored
This commit improves the processing of the final few bytes in castagnoliSSE42: instead of processing one byte at a time, we use all versions of the CRC32 instruction to process 4 bytes, then 2, then 1. The difference is only noticeable for small "odd" sized buffers. We do the similar improvement for processing the first few bytes in the case of unaligned buffer. Fixing the test which was not actually verifying the results for misaligned buffers (WriteString was creating an internal copy which was aligned). Adding benchmarks for length 15 (aligned and misaligned), results below. name old time/op new time/op delta CastagnoliCrc15B-4 25.1ns ± 0% 22.1ns ± 1% -12.14% CastagnoliCrc15BMisaligned-4 25.2ns ± 0% 22.9ns ± 1% -9.03% CastagnoliCrc40B-4 23.1ns ± 0% 23.4ns ± 0% +1.08% CastagnoliCrc1KB-4 127ns ± 0% 128ns ± 0% +1.18% CastagnoliCrc4KB-4 462ns ± 0% 464ns ± 0% ~ CastagnoliCrc32KB-4 3.58µs ± 0% 3.60µs ± 0% +0.58% name old speed new speed delta CastagnoliCrc15B-4 597MB/s ± 0% 679MB/s ± 1% +13.77% CastagnoliCrc15BMisaligned-4 596MB/s ± 0% 655MB/s ± 1% +9.94% CastagnoliCrc40B-4 1.73GB/s ± 0% 1.71GB/s ± 0% -1.14% CastagnoliCrc1KB-4 8.01GB/s ± 0% 7.93GB/s ± 1% -1.06% CastagnoliCrc4KB-4 8.86GB/s ± 0% 8.83GB/s ± 0% ~ CastagnoliCrc32KB-4 9.14GB/s ± 0% 9.09GB/s ± 0% -0.58% Change-Id: I499e37af2241d28e3e5d522bbab836c1a718430a Reviewed-on: https://go-review.googlesource.com/24470Reviewed-by: Keith Randall <khr@golang.org>
-
Cherry Zhang authored
In CSE if a tuple generator is CSE'd to a different block, its selectors are copied to the same block. In this case, also CES the copied selectors. Test copied from Keith's CL 27202. Fixes #16741. Change-Id: I2fc8b9513d430f10d6104275cfff5fb75d3ef3d9 Reviewed-on: https://go-review.googlesource.com/27236 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
If we cannot infer the asm arch from the filename or the build tags, assume that it is the current build arch. Assembly files with no restrictions ought to be usable on all arches. Updates #11041 Change-Id: I0ae807dbbd5fb67ca21d0157fe180237a074113a Reviewed-on: https://go-review.googlesource.com/27151 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Josh Bleecher Snyder authored
The unsafe.Pointer check allows adding to and subtracting from uintptrs in order to do arithmetic. Some code needs to round uintptrs. Allow &^ for that purpose. Updates #11041 Change-Id: Ib90dd2954bb6c78427058271e13f2ce4c4af38fb Reviewed-on: https://go-review.googlesource.com/27156 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Atin M authored
Moves the state.ServerName assignment to outside the if statement that checks for handshakeComplete. Fixes #15571 Change-Id: I6c4131ddb16389aed1c410a975f9aa3b52816965 Reviewed-on: https://go-review.googlesource.com/22862 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
-
Cherry Zhang authored
- Use machine instructions for uint64<->float conversions - Do not enforce alignment on Zero/Move ARM64 supports unaligned load/stores, but only aligned offset or small offset can be encoded into instructions. - Do combined loads Change-Id: Iffca7dd0f13070b17b784861ce5a30af584680eb Reviewed-on: https://go-review.googlesource.com/27086Reviewed-by: David Chase <drchase@google.com>
-
Alberto Donizetti authored
name old time/op new time/op delta FloatAdd/10-4 116ns ± 1% 82ns ± 0% -28.74% (p=0.008 n=5+5) FloatAdd/100-4 124ns ± 0% 86ns ± 1% -30.34% (p=0.016 n=4+5) FloatAdd/1000-4 192ns ± 1% 123ns ± 0% -35.94% (p=0.008 n=5+5) FloatAdd/10000-4 826ns ± 0% 438ns ± 0% -46.99% (p=0.000 n=4+5) FloatAdd/100000-4 6.82µs ± 1% 3.36µs ± 0% -50.74% (p=0.008 n=5+5) FloatSub/10-4 108ns ± 1% 77ns ± 1% -29.06% (p=0.008 n=5+5) FloatSub/100-4 115ns ± 0% 79ns ± 0% -31.48% (p=0.029 n=4+4) FloatSub/1000-4 168ns ± 0% 99ns ± 0% -41.09% (p=0.029 n=4+4) FloatSub/10000-4 690ns ± 2% 288ns ± 1% -58.24% (p=0.008 n=5+5) FloatSub/100000-4 5.37µs ± 1% 2.10µs ± 1% -60.89% (p=0.008 n=5+5) name old alloc/op new alloc/op delta FloatAdd/10-4 48.0B ± 0% 0.0B ±NaN% -100.00% (p=0.008 n=5+5) FloatAdd/100-4 64.0B ± 0% 0.0B ±NaN% -100.00% (p=0.008 n=5+5) FloatAdd/1000-4 176B ± 0% 0B ±NaN% -100.00% (p=0.008 n=5+5) FloatAdd/10000-4 1.41kB ± 0% 0.00kB ±NaN% -100.00% (p=0.008 n=5+5) FloatAdd/100000-4 13.6kB ± 0% 0.0kB ±NaN% -100.00% (p=0.008 n=5+5) FloatSub/10-4 48.0B ± 0% 0.0B ±NaN% -100.00% (p=0.008 n=5+5) FloatSub/100-4 64.0B ± 0% 0.0B ±NaN% -100.00% (p=0.008 n=5+5) FloatSub/1000-4 176B ± 0% 0B ±NaN% -100.00% (p=0.008 n=5+5) FloatSub/10000-4 1.41kB ± 0% 0.00kB ±NaN% -100.00% (p=0.008 n=5+5) FloatSub/100000-4 13.6kB ± 0% 0.0kB ±NaN% -100.00% (p=0.008 n=5+5) Fixes #14868 Change-Id: Ia2b8b1a8ef0868288ecb25f812b17bd03ff40d1c Reviewed-on: https://go-review.googlesource.com/23568Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
Timings is a simple data structure that collects times of labeled Start/Stop events describing timed phases, which later can be written to a file. Adjacent phases with common label prefix are automatically collected in a group together with the accumulated phase time. Timing data can be appended to a file in benchmark data format using the new -bench flag: $ go build -gcflags="-bench=/dev/stdout" -o /dev/null go/types commit: devel +8847c6b Mon Aug 15 17:51:53 2016 -0700 goos: darwin goarch: amd64 BenchmarkCompile:go/types:fe:init 1 663292 ns/op 0.07 % BenchmarkCompile:go/types:fe:loadsys 1 1337371 ns/op 0.14 % BenchmarkCompile:go/types:fe:parse 1 47008869 ns/op 4.91 % 10824 lines 230254 lines/s BenchmarkCompile:go/types:fe:typecheck:top1 1 2843343 ns/op 0.30 % BenchmarkCompile:go/types:fe:typecheck:top2 1 447457 ns/op 0.05 % BenchmarkCompile:go/types:fe:typecheck:func 1 15119595 ns/op 1.58 % 427 funcs 28241 funcs/s BenchmarkCompile:go/types:fe:capturevars 1 56314 ns/op 0.01 % BenchmarkCompile:go/types:fe:inlining 1 9805767 ns/op 1.02 % BenchmarkCompile:go/types:fe:escapes 1 53598646 ns/op 5.60 % BenchmarkCompile:go/types:fe:xclosures 1 199302 ns/op 0.02 % BenchmarkCompile:go/types:fe:subtotal 1 131079956 ns/op 13.70 % BenchmarkCompile:go/types:be:compilefuncs 1 692009428 ns/op 72.33 % 427 funcs 617 funcs/s BenchmarkCompile:go/types:be:externaldcls 1 54591 ns/op 0.01 % BenchmarkCompile:go/types:be:dumpobj 1 133478173 ns/op 13.95 % BenchmarkCompile:go/types:be:subtotal 1 825542192 ns/op 86.29 % BenchmarkCompile:go/types:unaccounted 1 106101 ns/op 0.01 % BenchmarkCompile:go/types:total 1 956728249 ns/op 100.00 % For #16169. Change-Id: I93265fe0cb08e47cd413608d0824c5dd35ba7899 Reviewed-on: https://go-review.googlesource.com/24462Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Tom Wilkie authored
.local addresses are used by things like Kubernetes and Weave DNS; Go should not avoid resolving them. This is a partial revert of https://golang.org/cl/21328 which was too strict of an interpretation of RFC 6762. Fixes #16739 Change-Id: I349415b4eab5d61240dd18217bd95dc7d2105cd5 Reviewed-on: https://go-review.googlesource.com/27250Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-