aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-26api: promote next to go1.13go1.13beta1Andrew Bonventre
Change-Id: I394f942822a0db27418d3fbb25df6227ea199a5f Reviewed-on: https://go-review.googlesource.com/c/go/+/183919 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-06-26cmd/compile, runtime: use R20, R21 in ARM64's Duff's devicesCherry Zhang
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>
2019-06-26cmd/go: 'go get' should not delete binaries when run from $GOBINJay Conrod
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>
2019-06-26syscall: fix nil pointer dereference in Getdirentries on 32-bit freebsd 12Tobias Klauser
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/+/183797 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-26go/types: avoid race condition with dot-imported objectsRobert Griesemer
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>
2019-06-25misc/cgo/test: use char, not int, so test works on big-endian systemsIan Lance Taylor
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>
2019-06-25cmd/compile: don't mark argument array as noalgKeith Randall
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>
2019-06-25doc/go1.13: binary-only package are no longer supportedJay Conrod
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>
2019-06-25doc/go1.13: close <em> and <code> tagsDmitri Shuralyov
Fixup for two typos from CL 183630. Change-Id: I7968a736680e8a6bbd1f4691d443b217702bc190 Reviewed-on: https://go-review.googlesource.com/c/go/+/183843 Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-06-25doc/go1.13: describe new cmd/go environment variablesBryan C. Mills
Change-Id: I99669339b816a3ae56bbe082a8c47ae17e763d71 Reviewed-on: https://go-review.googlesource.com/c/go/+/183632 Reviewed-by: Katie Hockman <katie@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-06-25doc/go1.13: describe 'go env -w'Bryan C. Mills
Change-Id: I0c8c30b40a33763dc34f15d144346eb1a0997df2 Reviewed-on: https://go-review.googlesource.com/c/go/+/183631 Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-06-25doc/go1.13: describe changes to 'go get'Bryan C. Mills
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/+/183630 Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-06-25cmd/internal/obj/ppc64: add doc.goLynn Boger
Adding some details on writing Go assembler for ppc64. Change-Id: I46fc6b75ee6c36946f90280b2b670e0d32bcc6b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/183837 Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-06-25cmd/go: validate path in mod init pathLE Manh Cuong
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>
2019-06-25cmd/go: ensure that runtime/cgo is not stale in TestExecBuildXBryan C. Mills
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>
2019-06-25doc/go1.13: add release notes for the errors packageAndrew
Also removes remaining TODOs Change-Id: Id80021b7a64c923c4ebd69fb6e8831a43a76dc72 Reviewed-on: https://go-review.googlesource.com/c/go/+/183625 Reviewed-by: Katie Hockman <katie@golang.org>
2019-06-25cmd/go/internal/modfetch: filter pseudo-versions from proxy /list endpointsBryan C. Mills
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>
2019-06-25cmd/go/internal/modfetch: return structured errors from proxy operationsBryan C. Mills
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>
2019-06-25runtime: fix a register save/restore bug in sigtramp of arm-darwinBen Shi
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>
2019-06-25bufio: fix ExampleScanner_Bytes comment, add error checkIan Lance Taylor
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>
2019-06-24doc/go1.13: cmd/go, math/big, and a leftover crypto/x509 release noteFilippo Valsorda
Change-Id: I80f2b50c8dd3d3f0fea6ed25fa2581786152d470 Reviewed-on: https://go-review.googlesource.com/c/go/+/183621 Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-06-24cmd/go: fix a typo in module-private help textBryan C. Mills
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>
2019-06-24cmd/cgo: fix inappropriate array copykawakami
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>
2019-06-24cmd/go: silence ar with D flag failuresClément Chigot
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>
2019-06-24doc/go1.13: mention {NetBSD,OpenBSD}/arm64 portsIan Lance Taylor
Also alphabetize port listing. Change-Id: I4cc552a74856c9955571d721deb6223438c7d856 Reviewed-on: https://go-review.googlesource.com/c/go/+/183637 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2019-06-24cmd/go/internal/modfetch: treat a missing go.mod file as a “not exist” errorBryan C. Mills
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>
2019-06-24doc/go1.13: remove bytes TODO since it does not require a release noteAndrew
Change-Id: I8c19c6df6fec74dcc8c3bfdc667576ea00e86ec1 Reviewed-on: https://go-review.googlesource.com/c/go/+/183617 Reviewed-by: Katie Hockman <katie@golang.org>
2019-06-23test: update blank1.go for changed gofrontend error messagesIan Lance Taylor
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>
2019-06-23runtime/cgo: on Solaris link against -lxnetIan Lance Taylor
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>
2019-06-21doc: add release notes for godoc and go docDmitri Shuralyov
Updates #30029 Updates #31457 Change-Id: I08414a544615e74afb47f7a10a00f1e22adfd40c Reviewed-on: https://go-review.googlesource.com/c/go/+/182619 Reviewed-by: Katie Hockman <katie@golang.org>
2019-06-21cmd/go: validate pseudo-versions against module paths and revision metadataBryan C. Mills
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>
2019-06-21cmd/go/testdata: update addmod.go to work with the mainline go commandBryan C. Mills
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>
2019-06-21cmd/gofmt: fix normalization of imaginary number literalsRobert Griesemer
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/+/183378 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-21cmd/link: revise previous __DWARF segment protection fixThan McIntosh
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/+/183237 Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
2019-06-21cmd/go: add more docs for go directive in go.mod fileIan Lance Taylor
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>
2019-06-21bufio: add example for Scanner.Bytesguitarbum722
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>
2019-06-21Revert "runtime: use dispatch semaphores on Darwin"Ian Lance Taylor
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>
2019-06-21doc/go1.13: document changes to gofmt, go/* libs, and fix entry for text/scannerRobert Griesemer
Change-Id: I2230a97c681406f248b7f2fff45dd80a4b54a4b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/183357 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-20bufio: Reader.Read may return io.EOF even when it has data bufferedDaniel Cormier
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>
2019-06-20crypto/x509: normalize and expand docs of Parse and Marshal functionsFilippo Valsorda
Change-Id: I8f0e109053bbbd8bde4fa64059fd070d8f4acef2 Reviewed-on: https://go-review.googlesource.com/c/go/+/183117 Reviewed-by: Adam Langley <agl@golang.org>
2019-06-20crypto/tls: reject low-order Curve25519 pointsFilippo Valsorda
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>
2019-06-20crypto/tls: move shared code and resources to handshake_test.goFilippo Valsorda
Removed cross-dependencies between handshake_server_test.go and handshake_client_test.go; moved all initialization to TestMain; replaced SSLKEYLOGFILE environment variable with -keylog flag. Change-Id: Ida6712daa44e01a2c00658e8a1896087ee88bcb0 Reviewed-on: https://go-review.googlesource.com/c/go/+/183057 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
2019-06-20text/scanner: rename AllowNumberbars to AllowDigitSeparatorsRobert Griesemer
Fixes #32661. Change-Id: I32dc4e7b276b95ac2e87a384caa6c48702368d05 Reviewed-on: https://go-review.googlesource.com/c/go/+/183077 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-06-20cmd/go/internal/imports: match solaris files for illumosTobias Klauser
Like the android/linux pair, match files with GOOS=solaris if GOOS=illumos Follow-up for CL 174457 Fixes #32370 Updates #20603 Change-Id: Id01de8bb3990d7bbb22f735a4abed2b3cf8b4062 Reviewed-on: https://go-review.googlesource.com/c/go/+/179997 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Benny Siegert <bsiegert@gmail.com> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-06-20cmd/compile: add necessary operand to mergePoint in rewrite rulesDavid Chase
A missing operand to mergePoint caused lower to place values in the wrong blocks. Includes test, belt+suspenders to do both ssa check and verify the output (was is how the bug was originally observed). The fixed bug here is very likely present in Go versions 1.9-1.12 on amd64 and s390x Fixes #32680. Change-Id: I63e702c4c40602cb795ef71b1691eb704d38ccc7 Reviewed-on: https://go-review.googlesource.com/c/go/+/183059 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
2019-06-19cmd/go: install binaries in cmd/ in $GOROOT/bin instead of $GOBINJay Conrod
This was caused by CL 167748, which removed a special case for command line arguments starting with "cmd/". This CL restores the behavior from go1.12. Fixes #32674 Change-Id: I72180d11fb0261ef0af9632e512bd9c03481b6c0 Reviewed-on: https://go-review.googlesource.com/c/go/+/183058 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2019-06-19doc/go1.13: add release notes for the testing packageAndrew
Change-Id: I4ddbe22061579383ca47e14d0b64a74365fb3d19 Reviewed-on: https://go-review.googlesource.com/c/go/+/182797 Reviewed-by: Katie Hockman <katie@golang.org>
2019-06-19crypto/tls: disable RSA-PSS in TLS 1.2 againFilippo Valsorda
Signing with RSA-PSS can uncover faulty crypto.Signer implementations, and it can fail for (broken) small keys. We'll have to take that breakage eventually, but it would be nice for it to be opt-out at first. TLS 1.3 requires RSA-PSS and is opt-out in Go 1.13. Instead of making a TLS 1.3 opt-out influence a TLS 1.2 behavior, let's wait to add RSA-PSS to TLS 1.2 until TLS 1.3 is on without opt-out. Note that since the Client Hello is sent before a protocol version is selected, we have to advertise RSA-PSS there to support TLS 1.3. That means that we still support RSA-PSS on the client in TLS 1.2 for verifying server certificates, which is fine, as all issues arise on the signing side. We have to be careful not to pick (or consider available) RSA-PSS on the client for client certificates, though. We'd expect tests to change only in TLS 1.2: * the server won't pick PSS to sign the key exchange (Server-TLSv12-* w/ RSA, TestHandshakeServerRSAPSS); * the server won't advertise PSS in CertificateRequest (Server-TLSv12-ClientAuthRequested*, TestClientAuth); * and the client won't pick PSS for its CertificateVerify (Client-TLSv12-ClientCert-RSA-*, TestHandshakeClientCertRSAPSS, Client-TLSv12-Renegotiate* because "R" requests a client cert). Client-TLSv13-ClientCert-RSA-RSAPSS was updated because of a fix in the test. This effectively reverts 88343530720a52c96b21f2bd5488c8fb607605d7. Testing was made more complex by the undocumented semantics of OpenSSL's -[client_]sigalgs (see openssl/openssl#9172). Updates #32425 Change-Id: Iaddeb2df1f5c75cd090cc8321df2ac8e8e7db349 Reviewed-on: https://go-review.googlesource.com/c/go/+/182339 Reviewed-by: Adam Langley <agl@golang.org>
2019-06-19doc/go1.13: expand ports, add skeleton language changes sectionAustin Clements
Change-Id: I6338bba2a86fb27421f91203a04b39830bae1e52 Reviewed-on: https://go-review.googlesource.com/c/go/+/182800 Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-06-19cmd/link: macos: set initial protection of 0 for __DWARF segmentThan McIntosh
For later versions of MacOS, the dynamic loader is more picky about enforcing restrictions on __DWARF MachO load commands/segments, triggering aborts of the form dyld: malformed mach-o image: segment __DWARF has vmsize < filesize for Go programs that use cgo on Darwin. The error is being triggered because the Go linker is setting "vmsize" in the DWARF segment entry to zero as a way to signal that the DWARF doesn't need to be mapped into memory at runtime (which we need to continue to do). This patch changes the initial protection on the __DWARF segment to zero, which dyld seems to be happy with (this is used for other similar non-loadable sections such as __LLVM). Fixes #32673 Change-Id: I9a73449c6d26c172f3d70361719943af381f37e6 Reviewed-on: https://go-review.googlesource.com/c/go/+/182958 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>