- 26 Jun, 2019 4 commits
-
-
Cherry Zhang authored
Currently we use R16 and R17 for ARM64's Duff's devices. According to ARM64 ABI, R16 and R17 can be used by the (external) linker as scratch registers in trampolines. So don't use these registers to pass information across functions. It seems unlikely that calling Duff's devices would need a trampoline in normal cases. But it could happen if the call target is out of the 128 MB direct jump limit. The choice of R20 and R21 is kind of arbitrary. The register allocator allocates from low-numbered registers. High numbered registers are chosen so it is unlikely to hold a live value and forces a spill. Fixes #32773. Change-Id: Id22d555b5afeadd4efcf62797d1580d641c39218 Reviewed-on: https://go-review.googlesource.com/c/go/+/183842 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Jay Conrod authored
When 'go install' is run without arguments in a directory containing a main package, it deletes an executable file with the same name as the package (presumably created by 'go build' previously). 'go get' in module mode executes the same code after updating and downloading modules. However, the special case was misfiring because we passed an empty list of patterns to InstallPackages. Fixes #32766 Change-Id: I19aca64ee1fb5a216777dd7d559e8e6a45b3e90c Reviewed-on: https://go-review.googlesource.com/c/go/+/183846 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Tobias Klauser authored
Don't attempt to dereference basep if it's nil, just pass it to getdirentries_freebsd12 as is. Ported from x/sys/unix CL 183223 Change-Id: Id1c4e0eb6ff36dd39524da8194fed9a5957bce61 Reviewed-on: https://go-review.googlesource.com/c/go/+/183797Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
It would be nice to have a test, but it requires running this under the race detector which is a bit complicated to set up; yet the fix is trivial. Verified manually that it doesn't trip the race detector. Fixes #32154. Change-Id: I20bd746a07945c802f0476a1d8b1dfd83c87dae8 Reviewed-on: https://go-review.googlesource.com/c/go/+/183849 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 25 Jun, 2019 15 commits
-
-
Ian Lance Taylor authored
Updates #32579 Fixes #32770 Change-Id: I32d1dea7505e8ad22e11a9806e10d096924b729b Reviewed-on: https://go-review.googlesource.com/c/go/+/183778 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
-
Keith Randall authored
It ends up making two similar types, [N]uint8 of both alg and noalg varieties. Comparsions between the two then don't come out equal when they should. In particular, the type *[N]uint8 has an Elem pointer which must point to one of the above two types; it can't point to both. Thus allocating a *[N]uint8 and dereferencing it might be a different type than a [N]uint8. The fix is easy. Making a small test for this is really hard. It requires that both a argless defer and the test be imported by a common parent package. This is why a main binary doesn't see this issue, but a test does (as Agniva noticed), because there's a wrapper package that imports both the test and the defer. Types like [N]uint8 don't really need to be marked noalg anyway, as the generated code (if any) will be shared among all vanilla memory types of the same size. Fixes #32595 Change-Id: If7b77fa6ed56cd4495601c3f90170682d853b82f Reviewed-on: https://go-review.googlesource.com/c/go/+/182357 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jay Conrod authored
Change-Id: Ieb4a78730a0685627b4730381b72cbd01031c8fa Reviewed-on: https://go-review.googlesource.com/c/go/+/183633 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Dmitri Shuralyov authored
Fixup for two typos from CL 183630. Change-Id: I7968a736680e8a6bbd1f4691d443b217702bc190 Reviewed-on: https://go-review.googlesource.com/c/go/+/183843Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Bryan C. Mills authored
Change-Id: I99669339b816a3ae56bbe082a8c47ae17e763d71 Reviewed-on: https://go-review.googlesource.com/c/go/+/183632Reviewed-by: Katie Hockman <katie@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
Change-Id: I0c8c30b40a33763dc34f15d144346eb1a0997df2 Reviewed-on: https://go-review.googlesource.com/c/go/+/183631Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
Also fix up markup in the “Version validation” section to correct indentation on Chrome. Change-Id: Ib930d324567c086bbd0c67b105272bdfcca77b12 Reviewed-on: https://go-review.googlesource.com/c/go/+/183630Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Lynn Boger authored
Adding some details on writing Go assembler for ppc64. Change-Id: I46fc6b75ee6c36946f90280b2b670e0d32bcc6b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/183837Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
LE Manh Cuong authored
When mod init with given module path, validate that module path is a valid import path. Note that module.CheckImportPath is used, because module.CheckPath verifies that module path is something that "go get" can fetch, which is strictly stronger condition than "a valid module path". Updates #28389 Fixes #32644 Change-Id: Ia60f218dd7d79186f87be723c28a96d6cb63017e Reviewed-on: https://go-review.googlesource.com/c/go/+/182560 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Bryan C. Mills authored
Fixes #29004 Change-Id: Ifc8330b47fbec6f902057cb9b6db44f2c0082056 Reviewed-on: https://go-review.googlesource.com/c/go/+/183838 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Andrew authored
Also removes remaining TODOs Change-Id: Id80021b7a64c923c4ebd69fb6e8831a43a76dc72 Reviewed-on: https://go-review.googlesource.com/c/go/+/183625Reviewed-by: Katie Hockman <katie@golang.org>
-
Bryan C. Mills authored
The /list files in the module cache include pseudo-versions, but the documentation for (*modfetch).Repo.Versions explicitly states that they are not included in the output of that method. Fixes #32715 Change-Id: Ieba1500b91f52b5fa689e70e16dbe3ad40de20f7 Reviewed-on: https://go-review.googlesource.com/c/go/+/183402 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
CL 181881 added structured error types for direct fetches. Use those same structured errors to format proxy errors consistently. Also ensure that an empty @v/list is treated as equivalent to the module not existing at all. Updates #27173 Updates #32715 Change-Id: I203fd8259bc4f28b3389745f1a1fde936b0fa24d Reviewed-on: https://go-review.googlesource.com/c/go/+/183619 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Ben Shi authored
In sigtramp of sys_darwin_arm.s, the callee-save register R4 is saved to the stack, but later R2 is also saved to the save position. That CL fixes the unexpected lost of the value in R4. fixes #32744 Change-Id: Ifaeb99f11e4abf0c79bec9da67e0db97c358010c Reviewed-on: https://go-review.googlesource.com/c/go/+/183517 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Followup to CL 51412. Change-Id: Ic83c833e2c571cd7c8293d998ff745f181037a61 Reviewed-on: https://go-review.googlesource.com/c/go/+/183657 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
- 24 Jun, 2019 7 commits
-
-
Filippo Valsorda authored
Change-Id: I80f2b50c8dd3d3f0fea6ed25fa2581786152d470 Reviewed-on: https://go-review.googlesource.com/c/go/+/183621Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Bryan C. Mills authored
Change-Id: Idbdcb78d40cf58d7c878cfeaa4a34ab580fe472f Reviewed-on: https://go-review.googlesource.com/c/go/+/183626 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
kawakami authored
Ensure that during rewriting of expressions that take the address of an array, that we properly recognize *ast.IndexExpr as an operation to create a pointer variable and thus assign the proper addressOf and deference operators as "&" and "*" respectively. This fixes a regression from CL 142884. Fixed #32579 Change-Id: I3cb78becff4f8035d66fc5536e5b52857eacaa3d Reviewed-on: https://go-review.googlesource.com/c/go/+/183458 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Clément Chigot authored
The first call of ar must not show its output in order to avoid useless error messages about D flag. Change-Id: I3a2f5144b3bb271705000b67cd46cd02e98aca77 Reviewed-on: https://go-review.googlesource.com/c/go/+/182077 Run-TryBot: Clément Chigot <clement.chigot@atos.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Also alphabetize port listing. Change-Id: I4cc552a74856c9955571d721deb6223438c7d856 Reviewed-on: https://go-review.googlesource.com/c/go/+/183637Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Bryan C. Mills authored
If we have found a repository at the requested version but it does not contain a go.mod file in an appropriate subdirectory, then the module with the given path does not exist at that version. Therefore, we should report it with an error equivalent to os.ErrNotExist so that modload.Query will continue to check other possible module paths. Updates #27173 Change-Id: Ica73f4bb97f58e611a7f7d38183ee52fef5ee69a Reviewed-on: https://go-review.googlesource.com/c/go/+/183618 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Andrew authored
Change-Id: I8c19c6df6fec74dcc8c3bfdc667576ea00e86ec1 Reviewed-on: https://go-review.googlesource.com/c/go/+/183617Reviewed-by: Katie Hockman <katie@golang.org>
-
- 23 Jun, 2019 2 commits
-
-
Ian Lance Taylor authored
Adjusting gofrontend error messages for GCC standards causes the messages expected by this test to be adjusted slightly: the gofrontend code now quotes the _ identifier. Change-Id: I55ee2ae70b4da3bf7a421ceea80b254dd17601a9 Reviewed-on: https://go-review.googlesource.com/c/go/+/183477 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Ian Lance Taylor authored
Fixes #32205 Change-Id: If5b1d32a5e19ff5d9337862c07fb77890d19d69f Reviewed-on: https://go-review.googlesource.com/c/go/+/183379 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
-
- 21 Jun, 2019 9 commits
-
-
Dmitri Shuralyov authored
Updates #30029 Updates #31457 Change-Id: I08414a544615e74afb47f7a10a00f1e22adfd40c Reviewed-on: https://go-review.googlesource.com/c/go/+/182619Reviewed-by: Katie Hockman <katie@golang.org>
-
Bryan C. Mills authored
Previously, most operations involving pseudo-versions allowed any arbitrary combination of version string and date, and would resolve to the underlying revision (typically a Git commit hash) as long as that revision existed. There are a number of problems with that approach: • The pseudo-version participates in minimal version selection. If its version prefix is inaccurate, the pseudo-version may appear to have higher precedence that the releases that follow it, effectively “pinning” the module to that commit. For release tags, module authors are the ones who make the decision about release tagging; they should also have control over the pseudo-version precedence within their module. • The commit date within the pseudo-version provides a total order among pseudo-versions. If it is not accurate, the pseudo-version will sort into the wrong place relative to other commits with the same version prefix. To address those problems, this change restricts the pseudo-versions that the 'go' command accepts, rendering some previously accepted-but-not-canonical versions invalid. A pseudo-version is now valid only if all of: 1. The tag from which the pseudo-version derives points to the named revision or one of its ancestors as reported by the underlying VCS tool, or the pseudo-version is not derived from any tag (that is, has a "vX.0.0-" prefix before the date string and uses the lowest major version appropriate to the module path). 2. The date string within the pseudo-version matches the UTC timestamp of the revision as reported by the underlying VCS tool. 3. The short name of the revision within the pseudo-version (such as a Git hash prefix) is the same as the short name reported by the underlying cmd/go/internal/modfetch/codehost.Repo. Specifically, if the short name is a SHA-1 prefix, it must use the same number of hex digits (12) as codehost.ShortenSHA1. 4. The pseudo-version includes a '+incompatible' suffix only if it is needed for the corresponding major version, and only if the underlying module does not have a go.mod file. We believe that all releases of the 'go' tool have generated pseudo-versions that meet these constraints. However, a few pseudo-versions edited by hand or generated by third-party tools do not. If we discover invalid-but-benign pseudo-versions in widely-used existing dependencies, we may choose to add a whitelist for those specific path/version combinations. ― To work around invalid dependencies in leaf modules, users may add a 'replace' directive from the invalid version to its valid equivalent. Note that the go command's go.mod parser automatically resolves commit hashes found in 'replace' directives to the appropriate pseudo-versions, so in most cases one can write something like: replace github.com/docker/docker v1.14.0-0.20190319215453-e7b5f7dbe98c => github.com/docker/docker e7b5f7dbe98c and then run any 'go' command (such as 'go list' or 'go mod tidy') to resolve it to an appropriate pseudo-version. Note that the invalid version will still be used in minimal version selection, so this use of 'replace' directives is an incomplete workaround. ― One of the common use cases for higher-than-tagged pseudo-versions is for projects that do parallel development on release branches. For example, if a project cuts a 'v1.2' release branch at v1.2.0, they may want future commits on the main branch to show up as pre-releases for v1.3.0 rather than for v1.2.1 — especially if v1.2.1 is already tagged on the release branch. (On the other hand, a backport of a patch to the v1.2 branch should not show up as a pre-release for v1.3.0.) To address this use-case, module authors can make use of our existing support for pseudo-versions derived from pre-release tags: if the author adds an explicit pre-release tag (such as 'v1.3.0-devel') to the first commit after the branch, then the pseudo-versions for that commit and its descendents will be derived from that tag and will sort appropriately in version selection. ― Updates #27171 Fixes #29262 Fixes #27173 Fixes #32662 Fixes #32695 Change-Id: I0d50a538b6fdb0d3080aca9c9c3df1040da1b329 Reviewed-on: https://go-review.googlesource.com/c/go/+/181881 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Bryan C. Mills authored
Updates #32715 Change-Id: I4ea41d7bd1a2daeba8cebb283aaa096b6c3d4533 Reviewed-on: https://go-review.googlesource.com/c/go/+/183401 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Robert Griesemer authored
The old code only normalized decimal integer imaginary number literals. But with the generalized imaginary number syntax, the number value may be decimal, binary, octal, or hexadecimal, integer or floating-point. The new code only looks at the number pattern. Only for decimal integer imaginary literals do we need to strip leading zeroes. The remaining normalization code simply ignore the 'i' suffix. As a result, the new code is both simpler and shorter. Fixes #32718. Change-Id: If43fc962a48ed62002e65d5c81fddbb9bd283984 Reviewed-on: https://go-review.googlesource.com/c/go/+/183378Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Than McIntosh authored
Tweak the previous fix for issue 32673 (in CL 182958) to work around problems with c-shared build mode that crop up on some of the builders (10.11, 10.12). We now consistently set vmaddr and vmsize to zero for the DWARF segment regardless of build mode. Updates #32673 Change-Id: Id1fc213590ad00c28352925e2d754d760e022b5e Reviewed-on: https://go-review.googlesource.com/c/go/+/183237Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
-
Ian Lance Taylor authored
Updates #30791 Change-Id: I67efd7fd3b3a550428b16518bb27a3d81c178d28 Reviewed-on: https://go-review.googlesource.com/c/go/+/181840 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
guitarbum722 authored
Change-Id: I4a5c7573e13dd85531ee9f4dd2a0d1981bf8cdfa Reviewed-on: https://go-review.googlesource.com/c/go/+/51412 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
This reverts https://golang.org/cl/182258. The new code caused unpredictable crashes that are not understood. The old code was occasionally flaky but still better than this approach. Fixes #32655 Updates #31264 Change-Id: I2e9d27d6052e84bf75106d8b844549ba4f571695 Reviewed-on: https://go-review.googlesource.com/c/go/+/182880 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Katie Hockman <katie@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Robert Griesemer authored
Change-Id: I2230a97c681406f248b7f2fff45dd80a4b54a4b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/183357Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 20 Jun, 2019 3 commits
-
-
Daniel Cormier authored
If reading 0 bytes, don't return the error from the underlying io.Reader if there is still data buffered. Fixes #32693 Change-Id: I12a97bd6003c638c15d41028942f27edf88340e2 Reviewed-on: https://go-review.googlesource.com/c/go/+/182997 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Filippo Valsorda authored
Change-Id: I8f0e109053bbbd8bde4fa64059fd070d8f4acef2 Reviewed-on: https://go-review.googlesource.com/c/go/+/183117Reviewed-by: Adam Langley <agl@golang.org>
-
Filippo Valsorda authored
The RFC recommends checking the X25519 output to ensure it's not the zero value, to guard against peers trying to remove contributory behavior. In TLS there should be enough transcript involvement to mitigate any attack, and the RSA key exchange would suffer from the same issues by design, so not proposing a backport. See #31846 Change-Id: I8e657f8ee8aa72c3f8ca3b124555202638c53f5e Reviewed-on: https://go-review.googlesource.com/c/go/+/183039 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
-