- 28 Jul, 2018 3 commits
-
-
Russ Cox authored
Fixes #26500. Change-Id: I0a00009ce10f7aab3e6e79f7218307c3008422d1 Reviewed-on: https://go-review.googlesource.com/125655Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
Suggested in discussion on #26366. Change-Id: Id9ad2e429a915f88b4c4b30fc415c722eebe0ea4 Reviewed-on: https://go-review.googlesource.com/125297Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
The introduction of modules has broken (intentionally) the rule that the source code for a package x/y/z is in GOPATH/src/x/y/z (or GOROOT/src/x/y/z). This breaks the code in go/build.Import, which uses that rule to find the directory for a package. In the long term, the fix is to move programs that load packages off of go/build and onto golang.org/x/tools/go/packages, which we hope will eventually become go/packages. That code invokes the go command to learn what it needs to know about where packages are. In the short term, though, there are lots of programs that use go/build and will not be able to find code in module dependencies. To help those programs, go/build now runs the go command to ask where a package's source code can be found, if it sees that modules are in use. (If modules are not in use, it falls back to the usual lookup code and does not invoke the go command, so that existing uses are unaffected and not slowed down.) Helps #24661. Fixes #26504. Change-Id: I0dac68854cf5011005c3b2272810245d81b7cc5a Reviewed-on: https://go-review.googlesource.com/125296Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
- 27 Jul, 2018 9 commits
-
-
Craig Citro authored
The net/http module added support for HTTPS proxies in CL 68550, but the Transport.Proxy docstring was never updated to reflect this. This (doc-only) update adds "https" to the list of supported schemes. Change-Id: I0570fcdae8232bb42d52c4dd739dd09ee8dfd612 Reviewed-on: https://go-review.googlesource.com/126495Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
The Linux kernel faccessat system call does not take a flags parameter. The flag parameter to the C library faccessat function is implemented in C. The syscall.Faccessat function takes a flags parameter. In older releases we have passed the flags parameter to the kernel, which ignored it. In CL 120015 we started returning an error if any flags were set. That seems clearly better than ignoring them, but it turns out that some code was using the flags. The code was previously subtly broken. Now it is obviously broken. That is better, but we can do better still: we can implement the flags as the C library does. That is what this CL does. Change-Id: I259bd6f240c3951e939b81c3032dead3d9c567b4 Reviewed-on: https://go-review.googlesource.com/126415 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
We've expanded this several times. Try more. Fixes #18837 Change-Id: I03b699391351a30ee60a15d7aa712c6c66444cf9 Reviewed-on: https://go-review.googlesource.com/125875Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Constantin Konstantinidis authored
The test RuntimeTypeAttr always failed when gcc was unavailable. The test is duplicated for internal and external linking. The usual verification of host linker is added at the beginning of the external link test. Fixes #26621 Change-Id: I076d661f854c8a6de8fa5e7b069942a471445047 Reviewed-on: https://go-review.googlesource.com/126075 Run-TryBot: Heschi Kreinick <heschi@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com>
-
Jeet Parekh authored
Fixes #26138 Change-Id: If77b2839bccc600223735df42438a19131cd051c GitHub-Last-Rev: 64ceaea9f1cb7afb3d552dce0223b818bac1faf9 GitHub-Pull-Request: golang/go#26617 Reviewed-on: https://go-review.googlesource.com/126035Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
In -godefs mode any typedefs that appear in struct fields and the like will presumably be defined in the input file. If we resolve to the base type, those cross-references will not work. So for -godefs mode, keep the Go 1.10 behavior and don't resolve the typedefs in a loop. Fixes #26644 Change-Id: I48cf72d9eb5016353c43074e6aff6495af326f35 Reviewed-on: https://go-review.googlesource.com/125995Reviewed-by: Keith Randall <khr@golang.org>
-
Martin Möhrmann authored
cgo and non-cgo code paths can disagree on the number of root certificates: === RUN TestSystemRoots --- FAIL: TestSystemRoots (0.31s) root_darwin_test.go:31: cgo sys roots: 93.605184ms root_darwin_test.go:32: non-cgo sys roots: 213.998586ms root_darwin_test.go:44: got 168 roots root_darwin_test.go:44: got 427 roots root_darwin_test.go:73: insufficient overlap between cgo and non-cgo roots; want at least 213, have 168 FAIL exit status 1 Updates #21416 Updates #24652 Change-Id: Idb6d35b17c142dfff79a10cf6b40a42d12f9d17e Reviewed-on: https://go-review.googlesource.com/125259 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
When the test retried multiple times, it reused the same Work variable, causing in the builders being flaky due to panics. I was able to immediately reproduce the failure with stress and -race: $ go test -race -c && stress -p 32 ./par.test -test.run=TestWorkParallel$ /tmp/go-stress909062277 --- FAIL: TestWorkParallel (0.07s) panic: par.Work.Do: already called Do [recovered] panic: par.Work.Do: already called Do Instead, use a new Work variable at each retry. Now, the line above seems to never fail. Of course, much higher 'stress -p' values will still result in "does not seem to be parallel" test failures since the machine lacks resources. But those are test failures, not panics. Fixes #26642. Change-Id: I5e962eca7602cf413d911ff5669f56d4f52da5a7 Reviewed-on: https://go-review.googlesource.com/126355 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Yury Smolsky authored
This variable is not used anymore. It was used in the TestPackageNotStaleWithTrailingSlash test. Change-Id: I5e52d4d1d91592dd21e2d9cff96974a49d07f5f8 Reviewed-on: https://go-review.googlesource.com/126376 Run-TryBot: Yury Smolsky <yury@smolsky.by> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 26 Jul, 2018 1 commit
-
-
David Wimmer authored
Change the Pipe() function to use the pipe() syscall (which has a unique calling convention on linux/mips) instead of using pipe2(). This allows it work on kernels <2.6.27 when pipe2() was introduced. Change-Id: I65dfbd2a02b64e777a8eb13013d718e356521be6 GitHub-Last-Rev: c483a06168387c2cf151b6419e4e16576fab640a GitHub-Pull-Request: golang/go#26608 Reviewed-on: https://go-review.googlesource.com/125915 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Vladimir Stefanovic <vladimir.stefanovic@mips.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 25 Jul, 2018 3 commits
-
-
Minaev Mike authored
The existing implementation of TLS connection has a deadlock. It occurs when client connects to TLS server and doesn't send data for handshake, so server calls Close on this connection. This is because server reads data under locked mutex, while Close method tries to lock the same mutex. Fixes #23518 Change-Id: I4fb0a2a770f3d911036bfd9a7da7cc41c1b27e19 Reviewed-on: https://go-review.googlesource.com/90155 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
Ian Lance Taylor authored
Before this CL the user effectively has to guess at the expected location of a binary-only package. While the location is normally obvious ($GOPATH/pkg/GOOS_GOARCH/PATH/PKG.a) it is much less so when building with options that implicitly add an -installsufix option. Fixes #26590 Change-Id: I753ef54d6dcf733bb456dba65a4a92e4db57a1b0 Reviewed-on: https://go-review.googlesource.com/125818Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Ian Lance Taylor authored
This avoids problems when running under QEMU. It seems that at least some QEMU versions turn the sigaction implementation into a call to the C library sigaction function. The C library function will reject attempts to set the signal handler for signals 32 and 33. Ignore errors in that case. Change-Id: Id443a9a32f6fb0ceef5c59a398e7ede30bf71646 Reviewed-on: https://go-review.googlesource.com/125955 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 24 Jul, 2018 10 commits
-
-
Ian Gudger authored
The DNS client in net is documented to treat Conns returned by Resolver.Dial which implement PacketConn as UDP and those which don't as TCP regardless of what was requested. golang.org/cl/37879 changed the DNS client to assume that the Conn returned by Resolver.Dial was the requested type which broke compatibility. Fixes #26573 Updates #16218 Change-Id: Idf4f073a4cc3b1db36a3804898df206907f9c43c Reviewed-on: https://go-review.googlesource.com/125735 Run-TryBot: Ian Gudger <igudger@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Rob Pike authored
Change-Id: I10cc2073e28cefb1b9a10c0ae89d819ad6417d66 Reviewed-on: https://go-review.googlesource.com/125695Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Filippo Valsorda authored
The only inaccurate part was the HTTP/2 caveat in Server.ServeTLS, which only applies to the plain Serve variant. The restriction implemented in shouldConfigureHTTP2ForServe is not on the setupHTTP2_ServeTLS codepath because ServeTLS owns the tls.Listener, so we fix it for the user instead of disabling HTTP/2. Fixes #24607 Change-Id: Ie5f207d0201f09db27bf81b75535e5f6fdaf91e2 Reviewed-on: https://go-review.googlesource.com/103815Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
If we're in a libc call and get a trap, don't try to traceback the libc call. Start from the state we had at entry to libc. If there are multiple libc calls outstanding, remember the outermost one. Fixes #26393 Change-Id: Icfe8794b95bf3bfd1a0679b456dcde2481dcabf3 Reviewed-on: https://go-review.googlesource.com/124195Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
If we're compiling a large function, be more picky about how big the function we're inlining is. If the function is >5000 nodes, we lower the inlining threshold from a cost of 80 to 20. Turns out reflect.Value's cost is exactly 80. That's the function at issue in #26546. 20 was chosen as a proxy for "inlined body is smaller than the call would be". Simple functions still get inlined, like this one at cost 7: func ifaceIndir(t *rtype) bool { return t.kind&kindDirectIface == 0 } 5000 nodes was chosen as the big function size. Here are all the 5000+ node (~~1000+ lines) functions in the stdlib: 5187 cmd/internal/obj/arm (*ctxt5).asmout 6879 cmd/internal/obj/s390x (*ctxtz).asmout 6567 cmd/internal/obj/ppc64 (*ctxt9).asmout 9643 cmd/internal/obj/arm64 (*ctxt7).asmout 5042 cmd/internal/obj/x86 (*AsmBuf).doasm 8768 cmd/compile/internal/ssa rewriteBlockAMD64 8878 cmd/compile/internal/ssa rewriteBlockARM 8344 cmd/compile/internal/ssa rewriteValueARM64_OpARM64OR_20 7916 cmd/compile/internal/ssa rewriteValueARM64_OpARM64OR_30 5427 cmd/compile/internal/ssa rewriteBlockARM64 5126 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_50 6152 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_60 6412 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_70 6486 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_80 6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_90 6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_100 6534 cmd/compile/internal/ssa rewriteValuePPC64_OpPPC64OR_110 6675 cmd/compile/internal/gc typecheck1 5433 cmd/compile/internal/gc walkexpr 14070 cmd/vendor/golang.org/x/arch/arm64/arm64asm decodeArg There are a lot more smaller (~1000 node) functions in the stdlib. The function in #26546 has 12477 nodes. At some point it might be nice to have a better heuristic for "inlined body is smaller than the call", a non-cliff way to scale down the cost as the function gets bigger, doing cheaper inlined calls first, etc. All that can wait for another release. I'd like to do this CL for 1.11. Fixes #26546 Update #17566 Change-Id: Idda13020e46ec2b28d79a17217f44b189f8139ac Reviewed-on: https://go-review.googlesource.com/125516 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Baokun Lee authored
The old version git not support "--no-show-signature", git add this from v2.10.0. Fixes golang/go#26501. Change-Id: Ia6b54488651e8687b08a4d40e092822bf960c4fe Reviewed-on: https://go-review.googlesource.com/125315 Run-TryBot: Baokun Lee <nototon@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Yann Hodique authored
"string" should really be "struct" in the structures describing the module. Change-Id: I4e9cb12434bd33aa243622380c78e5e297d01d0b Reviewed-on: https://go-review.googlesource.com/125638Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitry Vyukov authored
1. Connections and codecs need to be partially safe for concurrent use. Namely, read side is serialized by one mutex, and writing side is serialized by another. Current comment says that they need to be fully thread-safe, which makes the default implementations (gobClientCodec/gobServerCodec) non-conforming. 2. Say that ServerCodec.Close can be called multiple times and must be idempotent. Server requires this and gobServerCodec accounts for this, but the requirement is not documented. Change-Id: Ie877e37891fed28056e3d9d1722edaed8e154067 Reviewed-on: https://go-review.googlesource.com/120818Reviewed-by: Rob Pike <r@golang.org>
-
Brad Fitzpatrick authored
Updates #9424 Change-Id: If117ba3e7d031f84b30d3a721ef99fe622734de2 Reviewed-on: https://go-review.googlesource.com/125575Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
There's a 50ms threshold in net/http.Transport that this test sometimes hitting on slower devices. That was unrelated to what this test was trying to test. So instead just t.Skip on RoundTrip errors unless the failure was quick (under 25ms), in which case the error must've been about something else. Our fast machines should catch regressions there. Fixes #25366 Change-Id: Ibe8e2716a5b68558b57d0b8b5c46f38e46a2cba2 Reviewed-on: https://go-review.googlesource.com/125555 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 23 Jul, 2018 4 commits
-
-
Ian Lance Taylor authored
Fixes #26486 Updates #26555 Change-Id: I402137b796e574e9b085ab54290d1b4ef73d3fcc Reviewed-on: https://go-review.googlesource.com/125039Reviewed-by: Russ Cox <rsc@golang.org>
-
Brad Fitzpatrick authored
Contains portions and modified portions of CL 103815 Fixes #24607 Change-Id: Ic330850a0f098f183315f04ea4780eded46c5b77 Reviewed-on: https://go-review.googlesource.com/125515Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
marwan-at-work authored
Fixes #26536 Change-Id: I75d284bd39af0a06e31d18c7f7745c5a8ecbe6ac GitHub-Last-Rev: 88040a9edb0cb547a498cb8c8b662eb8729eb8bf GitHub-Pull-Request: golang/go#26537 Reviewed-on: https://go-review.googlesource.com/125436Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
For unknown reasons, linking against CoreFoundation on macOS 10.10 sometimes causes mmap to ignore the hint address, which makes the Go allocator incompatible with TSAN. Currently, the effect of this is to run the allocator out of arena hints on the very first allocation, causing a "too many address space collisions for -race mode" panic. This CL skips the cgo tests that link against CoreFoundation in race mode. Updates #26475. Updates #26513. Change-Id: I52ec638c99acf5d4966e68ff0054f7679680dac6 Reviewed-on: https://go-review.googlesource.com/125304 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 20 Jul, 2018 10 commits
-
-
Cherry Zhang authored
Gccgo produced incorrect order of evaluation for expressions involving &&, || subexpressions. The fix is CL 125299. Updates #26495. Change-Id: I18d873281709f3160b3e09f0b2e46f5c120e1cab Reviewed-on: https://go-review.googlesource.com/125301 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Martí authored
Add the tools section with a Gofmt sub-section, just like in go1.10.html. Instead of copying the two last paragraphs from 1.10, which warn users about the hidden complexity of enforcing gofmt, move that to go/format and link to it. While at it, remove a duplicate "Tools" header that was likely added by accident. Fixes #26228. Change-Id: Ic511c44b2b86f82a41f2b78dd7e7482d694b6c62 Reviewed-on: https://go-review.googlesource.com/122295Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
LE Manh Cuong authored
Fixes #26451 Change-Id: Icd8d6d55dc42adb5c8953787eec7eb29ba46b2aa Reviewed-on: https://go-review.googlesource.com/125215Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jack authored
The doc for ResponseRecorder.Result guarantees that the body of the returned http.Response will be non-nil, but this only holds true if the caller's body is non-nil. With this change, if the caller's body is nil then the returned response's body will be an empty io.ReadCloser. Fixes #26442 Change-Id: I3b2fe4a2541caf9997dbb8978bbaf1f58cd1f471 GitHub-Last-Rev: d802967d89e89c50077fb2d0d455163dcea0eb43 GitHub-Pull-Request: golang/go#26453 Reviewed-on: https://go-review.googlesource.com/124875Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Than McIntosh authored
Rejigger the DWARF tests to ensure that they run in a reasonable amount of time in short mode, particularly the "abstract origin sanity" testpoints. Updates #26470 Change-Id: Idae9763ac20ea999fa394595aacfcd1e271293ae Reviewed-on: https://go-review.googlesource.com/125295Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Alberto Donizetti authored
Change-Id: I659bc5b61dade9438b122e6994da022946f5e1d3 Reviewed-on: https://go-review.googlesource.com/125255Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
Change-Id: I3bcf8850ad3873f2627ba017cbfb8b7a8c9cf467 Reviewed-on: https://go-review.googlesource.com/125256Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
If we have go get -u x1@v1 x2@v2 and x1 depends on x2, use v2 as the "upgraded" x2 chosen by -u instead of letting -u pick something (say, v2.1) and then immediately overriding it. This avoids chasing down the deps from v2.1 and also avoids them polluting the overall module graph. This fix also lets us delete some code in the preparation step, reducing the overall latency of get -u. Suggested by Bryan Mills in https://go-review.googlesource.com/c/vgo/+/122396/6#371. Fixes #26342. Change-Id: I50fa842304820d3f16f66a8e65dea695e2b0f88b Reviewed-on: https://go-review.googlesource.com/124856Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
If x v1.0.0 requires y v1.2.0, then go get x@v1.0.0 y@v1.0.0 needs to fail gracefully. Fixes #25917. Change-Id: I9b426af23a30310fcb0c3545a8d97feb58b8ddbe Reviewed-on: https://go-review.googlesource.com/124800Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
While writing the GOPROXY docs it occurred to me that versions can contain upper-case letters as well. The docs therefore say that versions are case-encoded the same as paths in the proxy protocol (and therefore in the cache as well). Make it so. Change-Id: Ibc0c4af0192a4af251e5dd6f2d36cda7e529099a Reviewed-on: https://go-review.googlesource.com/124795Reviewed-by: Bryan C. Mills <bcmills@google.com>
-