- 04 Oct, 2017 16 commits
-
-
Sokolov Yura authored
Before CL 62530 fastrand always returned non-zero value, and one condition in sema.go depends on this behavior. fastrand is used to generate random weight for treap of sudog, and it is checked against zero to verify sudog were inserted into treap or wait queue. Since its precision is not very important for correctness, lets just always set its lowest bit in this place. Updates #22047 Updates #21806 Change-Id: Iba0b56d81054e6ef9c49ffd293fc5d92a6a31e9b Reviewed-on: https://go-review.googlesource.com/68050Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Chris Broadfoot authored
Change-Id: Ib42fabc6829b6033373c0378713733f88e73e73d Reviewed-on: https://go-review.googlesource.com/68230Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
PlainAuth originally refused to send passwords to non-TLS servers and was documented as such. In 2013, issue #5184 was filed objecting to the TLS requirement, despite the fact that it is spelled out clearly in RFC 4954. The only possibly legitimate use case raised was using PLAIN auth for connections to localhost, and the suggested fix was to let the server decide: if it advertises that PLAIN auth is OK, believe it. That approach was adopted in CL 8279043 and released in Go 1.1. Unfortunately, this is exactly wrong. The whole point of the TLS requirement is to make sure not to send the password to the wrong server or to a man-in-the-middle. Instead of implementing this rule, CL 8279043 blindly trusts the server, so that if a man-in-the-middle says "it's OK, you can send me your password," PlainAuth does. And the documentation was not updated to reflect any of this. This CL restores the original TLS check, as required by RFC 4954 and as promised in the documentation for PlainAuth. It then carves out a documented exception for connections made to localhost (defined as "localhost", "127.0.0.1", or "::1"). Change-Id: I1d3729bbd33aa2f11a03f4c000e6bb473164957b Reviewed-on: https://go-review.googlesource.com/68170 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Matthew Dempsky authored
These are redundant with checking x.Sym.Pkg == localpkg. Passes toolstash-check -all. Change-Id: Iebe25f7932cd15a036141b468ad75c239abcdcf7 Reviewed-on: https://go-review.googlesource.com/66670 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Matthew Dempsky authored
Avoids generating useless equality and hash functions. Shrinks cmd/go executable size on linux/amd64 by ~17kB. Change-Id: Ifde5315cc5cbceb3a7260195c8803cace952359f Reviewed-on: https://go-review.googlesource.com/66650 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Russ Cox authored
This can only lead to confusion. Change-Id: Iae84c6404ab5eeb6950faa2364f97a017c67c506 Reviewed-on: https://go-review.googlesource.com/68110 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Simon Rawet <Simon@rawet.se>
-
Marvin Stenger authored
This removes some of the []byte/string conversions currently existing in the (un)marshaling methods of Int and Rat. For Int we introduce a new function (*Int).setFromScanner() essentially implementing the SetString method being given an io.ByteScanner instead of a string. So we can handle the string case in (*Int).SetString with a *strings.Reader and the []byte case in (*Int).UnmarshalText() with a *bytes.Reader now avoiding the []byte/string conversion here. For Rat we introduce a new function (*Rat).marshal() essentially implementing the String method outputting []byte instead of string. Using this new function and the same formatting rules as in (*Rat).RatString we can implement (*Rat).MarshalText() without the []byte/string conversion it used to have. Change-Id: Ic5ef246c1582c428a40f214b95a16671ef0a06d9 Reviewed-on: https://go-review.googlesource.com/65950Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
It was only waiting 0.1 seconds for the two GCs it wanted. Let it wait 1 second. Change-Id: Ib3cdc8127cbf95694a9f173643c02529a85063af Reviewed-on: https://go-review.googlesource.com/68151 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Julien Schmidt authored
Before this change the ct == 0 check could never be true. Moreover the values were not properly indirected. Change-Id: Ice47e36e3492babc4b47d2f9099e8772be231c96 Reviewed-on: https://go-review.googlesource.com/68130Reviewed-by: Daniel Theophanes <kardianos@gmail.com> Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
Preparation for moving the object file reader to its own package. For #22095 Change-Id: I31fe4a10a2c465f8ea4bf548f40918807e4ec6b5 Reviewed-on: https://go-review.googlesource.com/67314 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Gabriel Aszalos authored
Fix incorrect reference to string instead of byte slice. Change-Id: I95553da32acfbcf5dde9613b07ea38408cb31ae8 Reviewed-on: https://go-review.googlesource.com/68090Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Also reduce the passed context from *Link to *sys.Arch, so fewer data dependencies need to be wired through all the code dealing with symbols. For #22095 Change-Id: I50969405d6562c5152bd1a3c443b72413e9b70bc Reviewed-on: https://go-review.googlesource.com/67313 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Bonventre authored
Update golang/go#22120 Change-Id: Ie7dbd0e7b01b116c960243a8cd3fa9fd121f317d Reviewed-on: https://go-review.googlesource.com/68021Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Author Name authored
All current darwin architectures seem to take at least 100ms to dial a closed port, and that was making the all.bash script fail. Fixes #22062 Change-Id: Ib79c4b7a5db2373c95ce5d993cdcbee55cc0667f Reviewed-on: https://go-review.googlesource.com/67350Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Fixes #19418 Change-Id: I98205f40c1915cd68a5d20438469ba06f1efb160 Reviewed-on: https://go-review.googlesource.com/67432 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Begin passing coutbuf by as a parameter. To make the initial plumbing pass easier, it is also a field in the standard ctxt parameter. Consolidate the byte writing functions into the OutBuf object. The result is less architecture-dependent initialization. To avoid plumbing out everywhere we want to report an error, move handling of out file deletion to an AtExit function. For #22095 Change-Id: I0863695241562e0662ae3669666c7922b8c846f9 Reviewed-on: https://go-review.googlesource.com/67318 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 03 Oct, 2017 24 commits
-
-
David Crawshaw authored
For #22095 Change-Id: I9d1f0d93f8fd701a24af826dc903eea2bc235de2 Reviewed-on: https://go-review.googlesource.com/67317 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
No need to type this global as an unsafe.Pointer, we know what type the referent is. Change-Id: I7b1374065b53ccf1373754a21d54adbedf1fd587 Reviewed-on: https://go-review.googlesource.com/67990Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Giovanni Bajo authored
Latest macOS High Sierra changed how the wall time information is exported into the commpage. Backward compatibility was partly preserved, that is previous Go versions are basically forced to go through a syscall which is much slower and is not able to get nanosecond precision. Implement the new commpage layout and wall time computation, using a version check to fallback to the previous code on older operating systems. Fixes #22037 Change-Id: I8c2176eaca83a5d7be23443946a6b4c653ec7f68 Reviewed-on: https://go-review.googlesource.com/67332 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
cmd/cgo is special among the build tools because it is (re)built on demand when needed for a package using cgo, to avoid additional bootstrap logic elsewhere. (This is in contrast to cmd/compile, cmd/link, and so on, which must be specially built before even invoking the go command.) When the go command starts using content-based decisions about staleness, it is important that the build of cmd/cgo never use -linkmode=external, because that depends on runtime/cgo, which in turn depends on cmd/cgo. Change-Id: I72a2be748606d1ed4b93a54f2a5c7084e87d5fbc Reviewed-on: https://go-review.googlesource.com/67310Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Change-Id: Iab8f0d201780bd571541a6806f071e883a553d35 Reviewed-on: https://go-review.googlesource.com/56286Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Russ Cox authored
This is an intermediate step toward not being able to predict the final generated file name for a package build, so that parent builds can refer directly to cache files. Change-Id: I4dea5e8d8b80e6b995b3d9dc1d8c6f0ac9b88d72 Reviewed-on: https://go-review.googlesource.com/56285Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
These are rarely used and can be computed on demand, to make clear that they are never out of sync with the lists in the non-internal Package fields. Change-Id: I8c621dceaff1aeb39a3ed83f18e848adf14d7106 Reviewed-on: https://go-review.googlesource.com/56284Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
Actually execute topological sort to get those special dependencies right. Mistake introduced in CL 67650. Change-Id: I22fd6efb4f033deaf7f191431c0401b59b8a97d0 Reviewed-on: https://go-review.googlesource.com/67870 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Heschi Kreinick authored
When variables need to be spilled to the stack, they usually get their own stack slot. Local variables have a slot allocated if they need one, and arguments start out on the stack. Before this CL, the debug information made the assumption that this was always the case, and so didn't bother storing an actual stack offset during SSA analysis. There's at least one case where this isn't true: variables that alias arguments. Since the argument is the source of the variable, the variable will begin its life on the stack in the argument's stack slot, not its own. Therefore the debug info needs to track the actual stack slot for each location entry. No detectable performance change, despite the O(N) loop in getHomeSlot. Change-Id: I2701adb7eddee17d4524336cb7aa6786e8f32b46 Reviewed-on: https://go-review.googlesource.com/67231Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com> Reviewed-by: David Chase <drchase@google.com>
-
Lynn Boger authored
Some tests in misc/cgo/test are run with various options including '-linkmode=external "-extldflags=-pie"'. On ppc64x passing -pie to the external linker with code that was not compiled as position independent is incorrect. This works by luck in many cases but is not guaranteed to work. I suspect it is an issue on other targets as well. This will now run the tests using -buildmode=pie for the platforms that support that buildmode option. Fixes #21954 Change-Id: I25fc7573f2d3cb5b0d1c691a0ac91aef7715404f Reviewed-on: https://go-review.googlesource.com/66870 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tim Cooper authored
Previously, only the empty interface could be formatted to print on a single line. This behaviour made short one-method interfaces in function definitions and type assertions more verbose than they had to be. For example, the following type assertion: if c, ok := v.(interface { Close() error }); ok { } Can now be formatted as: if c, ok := v.(interface{ Close() error }); ok { } Fixes #21952 Change-Id: I896f796c5a30b9f4da2be3fe67cb6fea5871b835 Reviewed-on: https://go-review.googlesource.com/66130 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Joe Tsai authored
s/TypeSymLink/TypeSymlink/g Change-Id: I2550843248eb27d90684d0036fe2add0b247ae5a Reviewed-on: https://go-review.googlesource.com/67810Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
griesemer authored
Apply gofmt to src, misc. Fixes #22111. Change-Id: Ib1bda0caaf2c1787a8137b7a61bbef7a341cc68c Reviewed-on: https://go-review.googlesource.com/67633 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Giovanni Bajo authored
High Sierra has a new commpage layout (this is issue #3188), so we need to adjust the code to handle multiple versions of the layout. In preparation for this change, we rename the existing offset macros with a prefix that identifies the commpage version they refer to. Updates #22037 Change-Id: Idca4b7a855a2ff6dbc434cd12453fc3194707aa8 Reviewed-on: https://go-review.googlesource.com/67331 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Florian Uekermann authored
Loading location data from tzdata files was only supported from default paths on android. This change enables support on all OS via the ZONEINFO environment variable and reduces the amount of android specific code significantly. Furthermore, unsuccessful calls to LoadLocation now return the first error encountered, including errors from attempting to load a location from the source specified by ZONEINFO. Errors indicating that the source or location was not found are ignored until all possible sources have been traversed. Change-Id: I45bc23b92253c9447f12f95f3ca29a7e613ed995 Reviewed-on: https://go-review.googlesource.com/67170Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #22077 Change-Id: I8d1b18e78719514fa2a410e85c9d3934c47cd2fe Reviewed-on: https://go-review.googlesource.com/66930Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Grant Griffiths authored
Fixes #21159. Change-Id: I2c5ad505d673e213a548e5d632a5b3ad706e0dde Reviewed-on: https://go-review.googlesource.com/67635 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
The lldb child process is killed if a test runs too long. Also kill it when the setup times out (and is retried). Might help with builder flakes where all 5 attempts to start up lldb fail even though the tests before and after the timeouts succeed. For example: ... ok vendor/golang_org/x/net/route 37.797s lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) start timeout, trying again lldb setup error: command timeout (lldb start for 17s) go_darwin_arm_exec: failed to start test harness (retry attempted) FAIL vendor/golang_org/x/text/transform 115.185s ok vendor/golang_org/x/text/unicode/norm 122.773s ... Change-Id: I6638860522896491dccfa12f1e520c0f23df6d66 Reviewed-on: https://go-review.googlesource.com/67791 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
The point of this code is to print a warning about repeated go test invocations rebuilding the same packages over and over. The new cache will eliminate this failure mode and with it the need for the warning and this field. Change-Id: Ied79b3ca67d51a61f44629de6ae4974e6c8dd5a9 Reviewed-on: https://go-review.googlesource.com/56282Reviewed-by: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Mistake introduced just before submitting CL 67650 that somehow did not break a final pre-submit all.bash on my laptop. Not sure why all.bash passes locally when mkdeps.go doesn't build. I guess the test only runs on builders? Change-Id: I18fb91ada47605035345ba4b2f5e360a5c4b7f6e Reviewed-on: https://go-review.googlesource.com/67850 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
In addition to the obvious formatting change, this also drops from deps.go any indirect dependencies, so that when you add a new import to one package, the resulting diff only affects that one package, not every package that imports that package directly or indirectly. That makes the file a bit easier to understand, if you need to debug it or deal with a possible merge conflict. The code to trim the import lists (but not too much) was more than I wanted to do in shell, so I rewrote mkdeps in Go. The shell script is left behind for backwards-compatibility with people who have learned to run ./mkdeps.bash (or documentation suggesting the same). Change-Id: I0bf27b5b27d0440e11ea830b00735c73f58eae03 Reviewed-on: https://go-review.googlesource.com/67650Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Austin Clements authored
This method indicates whether a type contains any *heap* pointers, not just whether it contains any pointers. Rename the method to make this clear. Change-Id: Ifff143e2f02a820444ac26b84250495c0098cb33 Reviewed-on: https://go-review.googlesource.com/67690 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Lynn Boger authored
A new testcase TestSelectFairness was recently added, and since then the ppc64le build tests have intermittently failed. This adds a change to skip this test on ppc64le using SkipFlaky to help determine if the problem is with the test or something else with that commit. Updates #22047 Change-Id: Idfef72ed791c5bd45c42ff180947fea3df280ea7 Reviewed-on: https://go-review.googlesource.com/67631 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Use entire inlining call stack to decide whether two panic calls can be merged. We used to merge panic calls when only the leaf line numbers matched, but that leads to places higher up the call stack being merged incorrectly. Fixes #22083 Change-Id: Ia41400a80de4b6ecf3e5089abce0c42b65e9b38a Reviewed-on: https://go-review.googlesource.com/67632 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-