aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/api
AgeCommit message (Collapse)Author
2024-01-25all: prealloc slice with possible minimum capabilitiesShulhan
2024-01-04cmd/api: fix panic on exported basic type aliasesDevon H. O'Dell
The order of emitting named type and type aliases in the `Walker`'s `emitType` function is inverted. When the type alias references a basic type, this causes a panic as the type assertion on `*types.Named` fails. This change reorders the logic such that type aliases are emitted prior to this type assertion. Fixes #64958 Change-Id: I52dbe13999978912ded788d9cf4948103869bcfa Reviewed-on: https://go-review.googlesource.com/c/go/+/554076 Reviewed-by: Bryan Mills <bcmills@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Bryan Mills <bcmills@google.com>
2023-11-14cmd/api: use api/next directory for beta versionsDmitri Shuralyov
Even though we don't issue beta pre-releases of Go at this time, it can still be useful to build them without publishing as part of testing the release infrastructure. For such versions, use the next directory content so that the API check doesn't produce a false positive during the earlier stages of the development cycle, before the next directory is merged into a combined and eventually frozen api file. For #29205. Change-Id: Ib5e962670de1df22f7df64dd237b555953096808 Reviewed-on: https://go-review.googlesource.com/c/go/+/542000 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com>
2023-09-07cmd/api: don't try to parse JSON from stderr of go listIan Lance Taylor
Just send the go list stderr to our stderr. Change-Id: Iacda573bbe7accbcecb6a957e5d42b55afd10c58 Reviewed-on: https://go-review.googlesource.com/c/go/+/526775 Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
2023-08-16cmd/api: rename api.go to main_test.goRuss Cox
This makes cmd/api no longer an importable package. In CL 453258 I forgot that there was no direct prohibition on importing packages from cmd - we just rely on the fact that cmd/* is all package main and everything else is cmd/internal. Fixes #62069. Change-Id: Ifed738d333b40663f85eca8f83025fcea5df89a9 Reviewed-on: https://go-review.googlesource.com/c/go/+/520038 Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2023-06-15cmd/api: skip TestIssue29837 when -short is setqmuntal
TestIssue29837 takes a long time to run, ~150s on my laptop and ~40s on CI builders. While here, warm up the go list cache in parallel, which reduces the test time by ~10%. Change-Id: Ib8d45b086453ee03e6c9f3f070d6f6b0d324bfd4 Reviewed-on: https://go-review.googlesource.com/c/go/+/502095 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2023-06-02cmd/api: make check even pickier about api/next/*.txtDmitri Shuralyov
As spotted in CL 499981, 3 out of 51 of the api/next/*.txt files ended up with a blank line at the end. It's possible it would've been more if human reviewers didn't catch them. Since there's no formatter for these files, the only way to help catch things is to make the check pickier (as done in CL 431335). It can be loosened to let in useful blank lines if needed in the future. Change-Id: Iae7ee8e782b32707c576150914539ac4cc0faec4 Reviewed-on: https://go-review.googlesource.com/c/go/+/500115 Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2023-05-19cmd/api: skip TestIssue21181Russ Cox
It is incredibly slow, taking half as long as the regular cmd/api checks and over 5 minutes on plan9-arm. Leave it for the longtest builders. Change-Id: Ic8bd420f174268d0b6a13d84e7bd364f6c13cf41 Reviewed-on: https://go-review.googlesource.com/c/go/+/496375 Auto-Submit: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
2023-05-03cmd/api: move support checks into individual testsBryan C. Mills
This makes 'go test -list cmd/api' work, and fixes an infinite recursion via testenv.HasExec that would otherwise occur. As of CL 488076, testenv.HasExec tries to re-exec the test executable using -list to suppress running the tests, which produces a fork bomb if TestMain itself calls HasExec. For this test, it turns out that the HasExec check is redundant anyway: if we can exec 'go build', we can certainly exec programs in general too. Change-Id: I165f98315c181098c8be8b7525b9dfa3f98e14f6 Reviewed-on: https://go-review.googlesource.com/c/go/+/491656 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com>
2023-04-27cmd/api: remove unused functionalityDmitri Shuralyov
We no longer use the optional parameter to compareAPI. We now always set allowAdd to false. (Except in tests, making them less useful than they could be.) Flags and parsing their value are no more. Remove all the unused functionality and update test cases so they're closer to what the API checker does when it runs for real. Order the features, required, exception variables and fields more consistently. For #43956. Change-Id: Iaa4656a89a3fca3129742165a448d385e55e4a98 Reviewed-on: https://go-review.googlesource.com/c/go/+/489436 Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
2023-04-27cmd/api: make api/next/* entries required, not optionalDmitri Shuralyov
We want the API check to catch if some API present in api/next/* files is no longer implemented in the tree, and report it in the same CL that is making the change (by failing loudly). Arguably this should've been the case since CL 315350, but I didn't notice it at the time. Do it now. For #43956. Change-Id: I73330dd5fd3f5706a1fdf13b2bf8e0f24c6b48e5 Reviewed-on: https://go-review.googlesource.com/c/go/+/488135 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2023-02-17cmd/api: add API checks for freebsd/riscv64Dmitri Goutnik
The freebsd/riscv64 port was added in go1.20, make cmd/api aware of it and backfill API files. For #58582 Change-Id: I242b161cdb6221c8f60a1868c6435be26fca0078 Reviewed-on: https://go-review.googlesource.com/c/go/+/469135 Run-TryBot: Dmitri Goutnik <dgoutnik@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Bryan Mills <bcmills@google.com>
2023-02-17cmd/api: add API checks for freebsd/arm64Dmitri Goutnik
The freebsd/arm64 port was added in go1.14, make cmd/api aware of it and backfill API files. For #58582 Change-Id: I8b25c6cf5a66611d90d225762b257679a4abface Reviewed-on: https://go-review.googlesource.com/c/go/+/469115 Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Dmitri Goutnik <dgoutnik@gmail.com> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
2022-12-02cmd/api: track darwin arm64 portRuss Cox
The darwin arm64 port was added in Go 1.16 and is a first-class port, so it should be tracked by cmd/api. This CL does that, backfilling API files as needed. It also removes a spurious cgo.Incomplete API feature. Change-Id: Idd995677915e81bf1c2e09be65b31e084b75f668 Reviewed-on: https://go-review.googlesource.com/c/go/+/453260 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2022-12-02cmd/api: track deprecationsRuss Cox
Deprecating an API creates notices that go out to potentially millions of Go developers encouraging them to update their code. The choice to deprecate an API is as important as the choice to add a new API. We should track those and make them explicit. This will also ensure that deprecations go through proposal review. Change-Id: Ide9f60c32e5a88fb133e0dfedd984b8b0f70f510 Reviewed-on: https://go-review.googlesource.com/c/go/+/453259 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: David Chase <drchase@google.com>
2022-11-28cmd/api: rewrite as package testRuss Cox
No one ever runs 'go tool api', because the invocation has gotten unwieldy enough that it's not practical. And we don't support it as a standalone tool for other packages - it's not even in the distribution. Making it an ordinary package test lets us invoke it more easily from cmd/dist (as go test cmd/api -check) and avoids the increasingly baroque code in run.go to build a command line. Left in cmd/api even though it's no longer a command because (1) it uses a package from cmd/vendor and (2) it uses internal/testenv. Otherwise it could be misc/api. Fixes #56845. Change-Id: I00a13d9c19b1e259fa0e6bb93d1a4dca25f0e8c1 Reviewed-on: https://go-review.googlesource.com/c/go/+/453258 Auto-Submit: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Russ Cox <rsc@golang.org>
2022-11-10cmd/api: point to API docs in all.bash failureRuss Cox
When people add new API and get an all.bash failure, they often don't know about the API checker at all. Point to the README in the failure message, to try to help them find what they need to know. Change-Id: I6b148ec414d212033b371357a5e8c6ab79bb50a4 Reviewed-on: https://go-review.googlesource.com/c/go/+/449015 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2022-11-09all: add missing copyright headercui fliter
Change-Id: Ia5a090953d324f0f8aa9c1808c88125ad5eb6f98 Reviewed-on: https://go-review.googlesource.com/c/go/+/448955 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Bryan Mills <bcmills@google.com>
2022-11-02cmd/api: make check pickier about api/*.txtRuss Cox
We don't have a formatter for these files, so check here that they are in the right form to allow 'cat next/*.txt >go1.X.txt' at the end of each cycle. Fix the api files that the check finds. Change-Id: I0c5e4ab11751c7d0afce32503131d487313f41c0 Reviewed-on: https://go-review.googlesource.com/c/go/+/431335 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2022-10-31cmd/api: skip tests when 'os/exec' is supported but 'go build' is notBryan C. Mills
This may fix the android-.*-emu builders, which are currently broken. For #47257. Change-Id: I370dad2cb8031f8f5fdfbeb9c284c4f79f58d929 Reviewed-on: https://go-review.googlesource.com/c/go/+/446638 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com> Run-TryBot: Bryan Mills <bcmills@google.com>
2022-09-27cmd/api: skip tests on platforms that cannot execTobias Klauser
These tests execute commands using exec.Command. Change-Id: I2708d6d24762fe2b2a902b1b221cc67392bf5c41 Reviewed-on: https://go-review.googlesource.com/c/go/+/435235 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
2022-09-08cmd/api: use strings.Buildercuiweixie
Change-Id: I4e05b892373713365f60258f64b3de94382ad983 Reviewed-on: https://go-review.googlesource.com/c/go/+/428283 Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
2022-05-02all: REVERSE MERGE dev.boringcrypto (cdcb4b6) into masterRuss Cox
This commit is a REVERSE MERGE. It merges dev.boringcrypto back into its parent branch, master. This marks the end of development on dev.boringcrypto. Manual Changes: - git rm README.boringcrypto.md - git rm -r misc/boring - git rm src/cmd/internal/notsha256/sha256block_arm64.s - git cherry-pick -n 5856aa74 # remove GOEXPERIMENT=boringcrypto forcing in cmd/dist There are some minor cleanups like merging import statements that I will apply in a follow-up CL. Merge List: + 2022-04-29 cdcb4b6ef3 [dev.boringcrypto] cmd/compile: remove the awful boringcrypto kludge + 2022-04-29 e845f572ec [dev.boringcrypto] crypto/ecdsa, crypto/rsa: use boring.Cache + 2022-04-29 a840bf871e [dev.boringcrypto] crypto/internal/boring: add GC-aware cache + 2022-04-29 0184fe5ece [dev.boringcrypto] crypto/x509: remove VerifyOptions.IsBoring + 2022-04-29 9e9c7a0aec [dev.boringcrypto] crypto/..., go/build: align deps test with standard rules + 2022-04-29 0ec08283c8 [dev.boringcrypto] crypto/internal/boring: make SHA calls allocation-free + 2022-04-29 3cb10d14b7 [dev.boringcrypto] crypto/internal/boring: avoid allocation in big.Int conversion + 2022-04-29 509776be5d [dev.boringcrypto] cmd/dist: default to use of boringcrypto + 2022-04-29 f4c0f42f99 [dev.boringcrypto] all: add boringcrypto build tags + 2022-04-29 1f0547c4ec [dev.boringcrypto] cmd/go: pass dependency syso to cgo too + 2022-04-29 e5407501cb [dev.boringcrypto] cmd: use notsha256 instead of md5, sha1, sha256 + 2022-04-29 fe006d6410 [dev.boringcrypto] cmd/internal/notsha256: add new package + 2022-04-27 ec7f5165dd [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-04-22 ca6fd39cf6 [dev.boringcrypto] misc/boring: skip long tests during build.release + 2022-04-21 19e4b10f2f [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-04-20 e07d63964b [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-04-13 1f11660f54 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2022-04-13 bc3e5d0ab7 [dev.boringcrypto] misc/boring: remove -trust and individual reviewers + 2022-04-05 4739b353bb [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-03-30 9d6ab825f6 [dev.boringcrypto] make.bash: disable GOEXPERIMENT when using bootstrap toolchain + 2022-03-30 d1405d7410 [dev.boringcrypto] crypto/internal/boring: update build instructions to use podman + 2022-03-29 50b8f490e1 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-03-15 0af0e19368 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2022-03-07 f492793839 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-03-07 768804dfdd [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2022-02-11 8521d1ea34 [dev.boringcrypto] misc/boring: use go install cmd@latest for installing command + 2022-02-11 b75258fdd8 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2022-02-08 74d25c624c [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-02-03 e14fee553a [dev.boringcrypto] all: merge master into dev.boringcrypto + 2022-01-14 d382493a20 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-12-09 069bbf5434 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-12-06 21fa0b2199 [dev.boringcrypto] crypto/internal/boring: add -pthread linker flag + 2021-12-03 a38b43e4ab [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-11-09 16215e5340 [dev.boringcrypto] cmd/compile: disable version test on boringcrypto + 2021-11-08 c9858c7bdc [dev.boringcrypto] all: merge master into dev.boringcrypto + 2021-11-05 ed07c49cb6 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2021-11-05 dc2658558d [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-10-28 69d5e469a4 [dev.boringcrypto] all: convert +build to //go:build lines in boring-specific files + 2021-10-08 2840ccbc05 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-10-08 114aa69932 [dev.boringcrypto] misc/boring: fix Docker Hub references + 2021-10-08 7d26add6d5 [dev.boringcrypto] misc/boring: publish to Artifact Registry + 2021-08-27 5ae200d526 [dev.boringcrypto] crypto/tls: permit P-521 in FIPS mode + 2021-08-26 083811d079 [dev.boringcrypto] crypto/tls: use correct config in TestBoringClientHello + 2021-08-16 c7e7ce5ec1 [dev.boringcrypto] all: merge commit 57c115e1 into dev.boringcrypto + 2021-08-10 1fb58d6cad [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-07-14 934db9f0d6 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-06-08 a890a4de30 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-05-13 ed1f812cef [dev.boringcrypto] all: merge commit 9d0819b27c (CL 314609) into dev.boringcrypto + 2021-05-10 ad1b6f3ee0 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-04-21 11061407d6 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-03-23 b397e0c028 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-03-15 128cecc70b [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-03-10 5e2f5a38c4 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-02-26 42089e72fd [dev.boringcrypto] api: add crypto/boring.Enabled + 2021-02-24 03cd666173 [dev.boringcrypto] all: merge master (5b76343) into dev.boringcrypto + 2021-02-17 0f210b75f9 [dev.boringcrypto] all: merge master (2f0da6d) into dev.boringcrypto + 2021-02-12 1aea1b199f [dev.boringcrypto] misc/boring: support codereview.cfg in merge.sh + 2021-02-07 0d34d85dee [dev.boringcrypto] crypto/internal/boring: remove .llvm_addrsig section + 2021-02-07 325e03a64f [dev.boringcrypto] all: add codereview.cfg + 2021-02-05 d4f73546c8 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-01-20 cf8ed7cca4 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2021-01-20 f22137d785 [dev.boringcrypto] misc/boring: add -trust and roland@ to merge.sh and release.sh + 2020-12-12 e5c7bd0efa [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-12-02 5934c434c1 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-12-01 dea96ada17 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-11-18 906d6e362b [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-11-18 95ceba18d3 [dev.boringcrypto] crypto/hmac: merge up to 2a206c7 and skip test + 2020-11-17 0985c1bd2d [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-11-16 af814af6e7 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-11-05 f42bd50779 [dev.boringcrypto] crypto/internal/boring: update BoringCrypto module to certificate 3678 + 2020-10-19 ceda58bfd0 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-09-29 af85c47233 [dev.boringcrypto] misc/boring: bump version to b6 + 2020-09-29 f9b86a6562 [dev.boringcrypto] go/build: satisfy the boringcrypto build tag + 2020-09-29 ef2b318974 [dev.boringcrypto] crypto/boring: expose boring.Enabled() + 2020-09-14 3782421230 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-08-18 6bbe47ccb6 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-07-21 6e6e0b73d6 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-07-09 d85ef2b979 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-07-09 a91ad4250c [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-06-10 5beb39baf8 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-05-07 dd98c0ca3f [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-05-07 a9d2e3abf7 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-05-07 c19c0a047b [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-05-07 36c94f8421 [dev.boringcrypto] crypto/internal/boring: reject short signatures in VerifyRSAPKCS1v15 + 2020-05-07 ee159d2f35 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-04-08 e067ce5225 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2020-03-03 79284c2873 [dev.boringcrypto] crypto/internal/boring: make accesses to RSA types with finalizers safer + 2020-03-02 6c64b188a5 [dev.boringcrypto] crypto/internal/boring: update BoringCrypto module to certificate 3318 + 2020-02-28 13355c78ff [dev.boringcrypto] misc/boring: add go1.14b4 to RELEASES file + 2020-02-28 4980c6b317 [dev.boringcrypto] misc/boring: x/build/cmd/release doesn't take subrepo flags anymore + 2020-02-28 601da81916 [dev.boringcrypto] misc/boring: make merge.sh and release.sh a little more robust + 2020-02-14 09bc5e8723 [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2020-02-06 f96dfe6b73 [dev.boringcrypto] misc/boring: add go1.13.7b4 and go1.12.16b4 releases to RELEASES file + 2020-02-05 2f9b2e75c4 [dev.boringcrypto] misc/docker: update Dockerfile to match recent Buster based golang images + 2020-02-05 527880d05c [dev.boringcrypto] misc/boring: update default CL reviewer to katie@golang.org + 2019-11-25 50ada481fb [dev.boringcrypto] misc/boring: add new releases to RELEASES file + 2019-11-20 6657395adf [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-11-20 ab0a649d44 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-11-19 62ce702c77 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-10-25 e8f14494a0 [dev.boringcrypto] misc/boring: add go1.13.3b4 and go1.12.12b4 to RELEASES file + 2019-10-17 988e4d832e [dev.boringcrypto] misc/boring: add go1.13.2b4 and go1.12.11b4 to RELEASES file + 2019-10-11 974fd1301a [dev.boringcrypto] misc/boring: publish to Docker Hub all releases, not only the latest + 2019-09-27 62ce8cd3ad [dev.boringcrypto] misc/boring: add go1.13.1b4 and go1.12.10b4 to RELEASES file + 2019-09-10 489d268683 [dev.boringcrypto] misc/boring: add Go+BoringCrypto 1.13b4 to RELEASES file + 2019-09-04 e0ee09095c [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-09-03 ff197f326f [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-08-21 5a1705286e [dev.boringcrypto] misc/boring: add go1.12.9b4 to RELEASES + 2019-08-15 1ebc594b3c [dev.boringcrypto] misc/boring: add go1.12.8b4 and go1.11.13b4 to RELEASES + 2019-08-13 9417029290 [dev.boringcrypto] misc/boring: remove download of releaselet.go in build.release + 2019-08-05 2691091a4a misc/boring: add Go 1.11.12b4 and 1.12.7b4 to RELEASES + 2019-07-19 6eccf6a6cd [dev.boringcrypto] misc/boring: add scripts to automate merges and releases + 2019-06-27 98188f3001 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-06-13 5c354e66d1 [dev.boringcrypto] misc/boring: add go1.12.6b4 and go1.11.11b4 releases + 2019-06-09 9bf9e7d4b2 [dev.boringcrypto] crypto: move crypto/internal/boring imports to reduce merge conflicts + 2019-06-05 324f8365be [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-05-28 e48f228c9b [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-05-14 42e353245c [dev.boringcrypto] misc/boring: add go1.12.5b4 release + 2019-03-29 211a13fd44 [dev.boringcrypto] misc/boring: add go1.11.6b4 to RELEASES + 2019-03-28 347af7f060 [dev.boringcrypto] misc/boring: add go1.12.1b4 and update build scripts + 2019-02-27 a10558f870 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-02-08 4ed8ad4d69 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2019-01-24 14c64dbc4a [dev.boringcrypto] misc/boring: add go1.10.8b4 and go1.11.5b4 + 2018-12-15 3f9e53f346 [dev.boringcrypto] misc/boring: add go1.10.7b4 and go1.11.4b4 releases + 2018-12-14 92d975e906 [dev.boringcrypto] misc/boring: add go1.11.2b4 release + 2018-11-14 c524da4917 [dev.boringcrypto] crypto/tls: test for TLS 1.3 to be disabled in FIPS mode + 2018-11-14 bfd6d30118 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 0007017f96 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 3169778c15 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 ab37582eb0 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 e8b3500d5c [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 de153ac2a1 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-14 0cbb11c720 [dev.boringcrypto] cmd/compile: by default accept any language + 2018-11-13 11e916773e [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-11-13 af07f7734b [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-10-25 13bf5b80e8 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-10-15 623650b27a [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-10-01 36c789b1fd [dev.boringcrypto] misc/boring: add go1.10.4b4 and go1.11b4 releases + 2018-09-07 693875e3f2 [dev.boringcrypto] crypto/internal/boring: avoid an allocation in AES-GCM Seal and Open + 2018-09-06 4d1aa482b8 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-08-04 7eb1677c01 [dev.boringcrypto] crypto/internal/boring: fix aesCipher implementation of gcmAble + 2018-07-11 eaa3e94eb8 [dev.boringcrypto] misc/boring: add go1.9.7b4 and go1.10.3b4 releases + 2018-07-11 5f0402a26b [dev.boringcrypto] misc/boring: support build.release on macOS + 2018-07-03 77db076129 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-06-13 b77f5e4c85 [dev.boringcrypto] crypto/rsa: drop random source reading emulation + 2018-06-08 a4b7722ffa [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-05-29 18db93d7e6 [dev.boringcrypto] crypto/tls: restore AES-GCM priority when BoringCrypto is enabled + 2018-05-25 3d9a6ac709 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-05-18 019a994e32 [dev.boringcrypto] crypto/rsa: fix boringFakeRandomBlind to work with (*big.Int).ModInverse + 2018-05-17 a3f9ce3313 [dev.boringcrypto] all: merge master into dev.boringcrypto + 2018-02-09 528dad8c72 [dev.cryptoboring] misc/boring: update README for Bazel + 2018-02-06 c3d83ee31c [dev.boringcrypto] misc/boring: add go1.9.3b4 to RELEASES + 2017-12-13 f62a24349d [dev.boringcrypto] all: merge go1.10beta1 into dev.boringcrypto + 2017-12-06 3e52f22ece [dev.boringcrypto] crypto/internal/boring: add MarshalBinary/UnmarshalBinary to hashes + 2017-12-06 5379f7847f [dev.boringcrypto] all: merge master (more nearly Go 1.10 beta 1) into dev.boringcrypto + 2017-12-06 185e6094fd [dev.boringcrypto] all: merge master (nearly Go 1.10 beta 1) into dev.boringcrypto + 2017-11-20 c36033a379 [dev.boringcrypto] misc/boring: add go1.9.2b4 release + 2017-11-20 cda3c6f91d [dev.boringcrypto] all: merge go1.9.2 into dev.boringcrypto + 2017-10-25 2ea7d3461b [release-branch.go1.9] go1.9.2 + 2017-10-25 d93cb46280 [release-branch.go1.9] runtime: use simple, more robust fastrandn + 2017-10-25 78952c06c5 [release-branch.go1.9] cmd/compile: fix sign-extension merging rules + 2017-10-25 79996e4a1d [release-branch.go1.9] cmd/compile: avoid generating large offsets + 2017-10-25 f36b12657c [release-branch.go1.9] runtime: in cpuProfile.addExtra, set p.lostExtra to 0 after flush + 2017-10-25 dffc9319f1 [release-branch.go1.9] cmd/cgo: support large unsigned macro again + 2017-10-25 33ce1682c7 [release-branch.go1.9] cmd/cgo: avoid using common names for sniffing + 2017-10-25 f69668e1d0 [release-branch.go1.9] os: skip TestPipeThreads as flaky for 1.9 + 2017-10-25 9be38a15e4 [release-branch.go1.9] runtime: avoid monotonic time zero on systems with low-res timers + 2017-10-25 8bb333a9c0 [release-branch.go1.9] doc: document Go 1.9.2 + 2017-10-25 0758d2b9da [release-branch.go1.9] cmd/go: clean up x.exe properly in TestImportMain + 2017-10-25 d487b15a61 [release-branch.go1.9] cmd/compile: omit ICE diagnostics after normal error messages + 2017-10-25 fd17253587 [release-branch.go1.9] database/sql: prevent race in driver by locking dc in Next + 2017-10-25 7e7cb30475 [release-branch.go1.9] internal/poll: only call SetFileCompletionNotificationModes for sockets + 2017-10-25 f259aed082 [release-branch.go1.9] internal/poll: do not call SetFileCompletionNotificationModes if it is broken + 2017-10-25 39d4bb9c0f [release-branch.go1.9] cmd/go: correct directory used in checkNestedVCS test + 2017-10-25 bfc22319aa [release-branch.go1.9] crypto/x509: reject intermediates with unknown critical extensions. + 2017-10-25 a1e34abfb3 [release-branch.go1.9] net/smtp: NewClient: set tls field to true when already using a TLS connection + 2017-10-25 7dadd8d517 [release-branch.go1.9] net: increase expected time to dial a closed port on all Darwin ports + 2017-10-25 d80889341c [release-branch.go1.9] cmd/compile: fix merge rules for panic calls + 2017-10-25 87b3a27839 [release-branch.go1.9] net: bump TestDialerDualStackFDLeak timeout on iOS + 2017-10-25 ebfcdef901 [release-branch.go1.9] runtime: make runtime.GC() trigger GC even if GOGC=off + 2017-10-25 0ab99b396d [release-branch.go1.9] cmd/compile: fix regression in PPC64.rules move zero + 2017-10-25 8d4279c111 [release-branch.go1.9] internal/poll: be explicit when using runtime netpoller + 2017-10-25 1ded8334f7 [release-branch.go1.9] cmd/compile/internal/syntax: fix source buffer refilling + 2017-10-25 ff8289f879 [release-branch.go1.9] reflect: fix pointer past-the-end in Call with zero-sized return value + 2017-10-25 bd34e74134 [release-branch.go1.9] log: fix data race on log.Output + 2017-10-25 0b55d8dbfc [release-branch.go1.9] cmd/compile: replace GOROOT in //line directives + 2017-10-25 5c48811aec [release-branch.go1.9] cmd/compile: limit the number of simultaneously opened files to avoid EMFILE/ENFILE errors + 2017-10-25 8c7fa95ad3 [release-branch.go1.9] expvar: make (*Map).Init clear existing keys + 2017-10-25 ccd5abc105 [release-branch.go1.9] cmd/compile: simplify "missing function body" error message + 2017-10-25 2e4358c960 [release-branch.go1.9] time: fix documentation of Round, Truncate behavior for d <= 0 + 2017-10-25 c6388d381e [release-branch.go1.9] runtime: capture runtimeInitTime after nanotime is initialized + 2017-10-25 724638c9d8 [release-branch.go1.9] crypto/x509: skip TestSystemRoots + 2017-10-25 ed3b0d63b7 [release-branch.go1.9] internal/poll: add tests for Windows file and serial ports + 2017-10-04 93322a5b3d [release-branch.go1.9] doc: add missing "Minor revisions" header for 1.9 + 2017-10-04 7f40c1214d [release-branch.go1.9] go1.9.1 + 2017-10-04 598433b17a [release-branch.go1.9] doc: document go1.9.1 and go1.8.4 + 2017-10-04 815cad3ed0 [release-branch.go1.9] doc/1.9: add mention of net/http.LocalAddrContextKey + 2017-10-04 1900d34a10 [release-branch.go1.9] net/smtp: fix PlainAuth to refuse to send passwords to non-TLS servers + 2017-10-04 a39bcecea6 [release-branch.go1.9] cmd/go: reject update of VCS inside VCS + 2017-10-04 d9e64910af [release-branch.go1.9] runtime: deflake TestPeriodicGC + 2017-09-28 adc1f587ac [dev.boringcrypto] misc/boring: add src releases + 2017-09-25 4038503543 [dev.boringcrypto] misc/boring: add go1.8.3b4 + 2017-09-25 d724c60b4d [dev.boringcrypto] misc/boring: update README + 2017-09-22 70bada9db3 [dev.boringcrypto] misc/boring: add go1.9b4 release + 2017-09-22 e6ad24cde7 [dev.boringcrypto] all: merge go1.9 into dev.boringcrypto + 2017-09-22 431e071eed [dev.boringcrypto] misc/boring: add go1.9rc2b4 release + 2017-09-22 cc6e26b2e1 [dev.boringcrypto] api: add crypto/x509.VerifyOptions.IsBoring to make release builder happy + 2017-09-22 bac02b14b5 [dev.boringcrypto] misc/boring: update VERSION + 2017-09-22 3ed08db261 [dev.boringcrypto] crypto/tls/fipsonly: new package to force FIPS-allowed TLS settings + 2017-09-20 2ba76155cd [dev.boringcrypto] crypto/internal/boring: fix finalizer-induced crashes + 2017-09-18 32dc9b247f [dev.boringcrypto] cmd/go: exclude SysoFiles when using -msan + 2017-09-18 9f025cbdeb [dev.boringcrypto] crypto/internal/boring: fall back to standard crypto when using -msan + 2017-09-18 89ba9e3541 [dev.boringcrypto] crypto/aes: panic on invalid dst, src overlap + 2017-09-18 a929f3a04d [dev.boringcrypto] crypto/rsa: fix boring GenerateKey to set non-nil Precomputed.CRTValues + 2017-09-18 aa4a4a80ff [dev.boringcrypto] crypto/internal/boring: fix detection of tests to allow *.test and *_test + 2017-09-18 c9e2d9eb06 [dev.boringcrypto] crypto/rsa: add test for, fix observable reads from custom randomness + 2017-09-18 e773ea9aa3 [dev.boringcrypto] crypto/hmac: add test for Write/Sum after Sum + 2017-09-18 8fa8f42cb3 [dev.boringcrypto] crypto/internal/boring: allow hmac operations after Sum + 2017-09-18 07f6ce9d39 [dev.boringcrypto] crypto/internal/boring: handle RSA verification of short signatures + 2017-09-14 e8eec3fbdb [dev.boringcrypto] cmd/compile: refine BoringCrypto kludge + 2017-08-30 7b49445d0f [dev.boringcrypto] cmd/compile: hide new boring fields from reflection + 2017-08-30 81b9d733b0 [dev.boringcrypto] crypto/hmac: test empty key + 2017-08-30 f6358bdb6c [dev.boringcrypto] crypto/internal/boring: fix NewHMAC with empty key + 2017-08-30 9c307d8039 [dev.boringcrypto] crypto/internal/cipherhw: fix AESGCMSupport for BoringCrypto + 2017-08-26 f48a9fb815 [dev.boringcrypto] misc/boring: release packaging + 2017-08-25 94fb8224b2 [dev.boringcrypto] crypto/internal/boring: disable for android & non-cgo builds + 2017-08-25 7ff9fcafbd [dev.boringcrypto] crypto/internal/boring: clear "executable stack" bit from syso + 2017-08-24 c8aec4095e [release-branch.go1.9] go1.9 + 2017-08-24 b8c9ef9f09 [release-branch.go1.9] doc: add go1.9 to golang.org/project + 2017-08-24 136f4a6b2a [release-branch.go1.9] doc: document go1.9 + 2017-08-24 867be4c60c [release-branch.go1.9] doc/go1.9: fix typo in Moved GOROOT + 2017-08-24 d1351fbc31 [dev.boringcrypto] cmd/link: allow internal linking for crypto/internal/boring + 2017-08-24 991652dcf0 [dev.boringcrypto] cmd/link: work around DWARF symbol bug + 2017-08-22 9a4e7942ea [release-branch.go1.9] cmd/compile: remove gc.Sysfunc calls from 387 backend + 2017-08-22 ff38035a62 [release-branch.go1.9] doc/go1.9: fix typo in crypto/x509 of "Minor changes to the library". + 2017-08-19 7e9e3a06cb [dev.boringcrypto] crypto/rsa: use BoringCrypto + 2017-08-19 bc38fda367 [dev.boringcrypto] crypto/ecdsa: use unsafe.Pointer instead of atomic.Value + 2017-08-18 42046e8989 [release-branch.go1.9] runtime: fix false positive race in profile label reading + 2017-08-18 fbf7e1f295 [release-branch.go1.9] testing: don't fail all tests after racy test failure + 2017-08-18 21312a4b5e [release-branch.go1.9] cmd/dist: update deps.go for current dependencies + 2017-08-18 5927854f7d [release-branch.go1.9] cmd/compile: add rules handling unsigned div/mod by constant 1<<63 + 2017-08-18 65717b2dca [release-branch.go1.9] runtime: fix usleep by correctly setting nanoseconds parameter for pselect6 + 2017-08-17 b1f201e951 [dev.boringcrypto] crypto/ecdsa: use BoringCrypto + 2017-08-17 2efded1cd2 [dev.boringcrypto] crypto/tls: use TLS-specific AES-GCM mode if available + 2017-08-17 335a0f87bf [dev.boringcrypto] crypto/aes: implement TLS-specific AES-GCM mode from BoringCrypto + 2017-08-17 8d05ec9e58 [dev.boringcrypto] crypto/aes: use BoringCrypto + 2017-08-17 74e33c43e9 [dev.boringcrypto] crypto/hmac: use BoringCrypto + 2017-08-17 96d6718e4f [dev.boringcrypto] crypto/sha1,sha256,sha512: use BoringCrypto + 2017-08-17 e0e2bbdd00 [dev.boringcrypto] runtime/race: move TestRaceIssue5567 from sha1 to crc32 + 2017-08-17 fe02ba30f1 [dev.boringcrypto] crypto/rand: use BoringCrypto + 2017-08-17 6e70f88f84 [dev.boringcrypto] crypto/internal/boring: add initial BoringCrypto access + 2017-08-16 dcdcc38440 [dev.boringcrypto] add README.boringcrypto.md, update VERSION + 2017-08-16 19b89a22df [dev.boringcrypto] cmd/link: implement R_X86_64_PC64 relocations + 2017-08-07 048c9cfaac [release-branch.go1.9] go1.9rc2 + 2017-08-07 cff0de3da3 [release-branch.go1.9] all: merge master into release-branch.go1.9 + 2017-07-31 196492a299 [release-branch.go1.9] runtime: map bitmap and spans during heap initialization + 2017-07-31 1a6d87d4bf [release-branch.go1.9] runtime: fall back to small mmaps if we fail to grow reservation + 2017-07-27 7320506bc5 [release-branch.go1.9] cmd/dist: skip moved GOROOT on Go's Windows builders when not sharding tests + 2017-07-24 65c6c88a94 [release-branch.go1.9] go1.9rc1 + 2017-07-24 fbc9b49790 [release-branch.go1.9] cmd/compile: consider exported flag in namedata Change-Id: I5344e8e4813a9a0900f6633499a3ddf22895a4d5
2022-05-02all: use os/exec instead of internal/execabsRuss Cox
We added internal/execabs back in January 2021 in order to fix a security problem caused by os/exec's handling of the current directory. Now that os/exec has that code, internal/execabs is superfluous and can be deleted. This commit rewrites all the imports back to os/exec and deletes internal/execabs. For #43724. Change-Id: Ib9736baf978be2afd42a1225e2ab3fd5d33d19df Reviewed-on: https://go-review.googlesource.com/c/go/+/381375 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2022-04-29[dev.boringcrypto] all: add boringcrypto build tagsRuss Cox
A plain make.bash in this tree will produce a working, standard Go toolchain, not a BoringCrypto-enabled one. The BoringCrypto-enabled one will be created with: GOEXPERIMENT=boringcrypto ./make.bash For #51940. Change-Id: Ia9102ed993242eb1cb7f9b93eca97e81986a27b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/395881 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2022-03-18internal/testenv: add GOROOT and use it to fix tests broken with -trimpathBryan C. Mills
This fixes many (but not all) of the tests that currently fail (due to a bogus path reported by runtime.GOROOT) when run with 'go test -trimpath std cmd'. Updates #51461 Change-Id: Ia2cc05705529c4859e7928f32eeceed647f2e986 Reviewed-on: https://go-review.googlesource.com/c/go/+/391806 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2022-03-16cmd/api: remove debug printRuss Cox
Left over from CL 392414. Change-Id: I32ff1d660ba03d6c2005ad247e2129daf83aac04 Reviewed-on: https://go-review.googlesource.com/c/go/+/393361 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2022-03-14cmd/api: require proposal # for new API featuresRuss Cox
Having the proposal numbers recorded in the API files should help significantly when it comes time to audit the new API additions at the end of each release cycle. Change-Id: Id18e8cbdf892228a10ac17e4e21c7e17de5d4ff7 Reviewed-on: https://go-review.googlesource.com/c/go/+/392414 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2022-01-26cmd/api: reduce parallel 'go list' invocations to a constantBryan C. Mills
'go list' has its own internal parallelism, so invoking in in parallel can produce up to quadratic peak memory usage. Running 'go list' is also very I/O-intensive, so the higher parallelism does substantially improve latency; unfortunately, we lack a good way to balance latency against memory footprint, so we need to sacrifice some latency for reliability. Fixes #49957. Change-Id: Ib53990b46acf4cc67a9141644d97282964d6442d Reviewed-on: https://go-review.googlesource.com/c/go/+/380994 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2021-12-13all: gofmt -w -r 'interface{} -> any' srcRuss Cox
And then revert the bootstrap cmd directories and certain testdata. And adjust tests as needed. Not reverting the changes in std that are bootstrapped, because some of those changes would appear in API docs, and we want to use any consistently. Instead, rewrite 'any' to 'interface{}' in cmd/dist for those directories when preparing the bootstrap copy. A few files changed as a result of running gofmt -w not because of interface{} -> any but because they hadn't been updated for the new //go:build lines. Fixes #49884. Change-Id: Ie8045cba995f65bd79c694ec77a1b3d1fe01bb09 Reviewed-on: https://go-review.googlesource.com/c/go/+/368254 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
2021-12-08cmd/api: run half as many go list calls in parallelHeschi Kreinick
We currently run one 'go list' invocation per GOMAXPROC. Since the go command uses memory and has its own internal parallelism, that's unlikely to be an efficient use of resources. Run half as many. I suspect that's still too many but this should fix our OOMs. For #49957. Change-Id: Id06b6e0f0d96387a2a050e400f38bde6ba71aa60 Reviewed-on: https://go-review.googlesource.com/c/go/+/370376 Trust: Heschi Kreinick <heschi@google.com> Run-TryBot: Heschi Kreinick <heschi@google.com> Reviewed-by: Bryan Mills <bcmills@google.com>
2021-10-28all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor)Russ Cox
When these packages are released as part of Go 1.18, Go 1.16 will no longer be supported, so we can remove the +build tags in these files. Ran go fix -fix=buildtag std cmd and then reverted the bootstrapDirs as defined in src/cmd/dist/buildtool.go, which need to continue to build with Go 1.4 for now. Also reverted src/vendor and src/cmd/vendor, which will need to be updated in their own repos first. Manual changes in runtime/pprof/mprof_test.go to adjust line numbers. For #41184. Change-Id: Ic0f93f7091295b6abc76ed5cd6e6746e1280861e Reviewed-on: https://go-review.googlesource.com/c/go/+/344955 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2021-10-12cmd/api: use placeholder names for type parametersRobert Findley
Changing type parameter names is not a breaking API change, so we should not include these names in the output of cmd/api. Instead print a placeholder '$<index>' wherever type parameters are referenced. This is valid for cmd/api as there is at most one type parameter list in scope for any exported declaration. If we ever support method type parameters, we'll need to revisit this syntax. Change-Id: I7e677b1dab6ffeb0b79afefdb8d2580bef93891c Reviewed-on: https://go-review.googlesource.com/c/go/+/355389 Trust: Robert Findley <rfindley@google.com> Run-TryBot: Robert Findley <rfindley@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
2021-10-12cmd/api: support type parametersIan Lance Taylor
Fixes #48706 Change-Id: If0f8d0b49300027e3b2b46f6870302acf2e00f4e Reviewed-on: https://go-review.googlesource.com/c/go/+/354612 Trust: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> TryBot-Result: Go Bot <gobot@golang.org>
2021-10-04cmd/api: set architecture sizes when type checkingMichael Pratt
Otherwise the type checker defaults to amd64, which can break type-checking for definitions using unsafe.Sizeof. This has the side effect of changing the API output: constants with different values across architectures (e.g., MaxInt) are now individually listed per-arch. This actually makes the API file more accurate, but does introduce a one-time discontinuity. These changes have been integrated into the API files where the constants were added. Change-Id: I4bbb0b7a7f405d3adda2d83869475c8bacdeb6a9 Reviewed-on: https://go-review.googlesource.com/c/go/+/353331 Trust: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Robert Findley <rfindley@google.com> Reviewed-by: Alexander Rakoczy <alex@golang.org>
2021-05-03cmd/api: disallow silent API additions after api/go1.n.txt is createdDmitri Shuralyov
At this time, the golang.org/s/release process arranges such that the api/go1.n.txt file is created when a Go 1.N Beta 1 release is being cut. The API check is currently configured so that tests don't fail visibly even if api/go1.n.txt becomes a subset of the actual API additions in the upcoming Go 1.N release as long as 'go version' has "devel" in it. The first time that 'go version' output drops the "devel" substring during testing is after the release-branch.go1.N branch is created as part of the process to cut a Go 1.N Release Candidate 1 release. The month or so between Beta 1 and RC 1 is well into the freeze and deliberate API changes are rare and very intentional. There seems to be agreement that it's healthy to make the API check stricter during that time period. Doing so will ensure that api/go1.n.txt cannot get stale after creation without anyone noticing, and may catch CLs that don't have the intended diff on the API. This CL changes behavior to be simple and clear: from the moment an api/go1.n.txt file corresponding to the current Go version in development is added to the tree, silent API additions stop being permitted. This CL also moves the magical "override the value of -allow_new flag if runtime.Version() contains 'devel' string" behavior from cmd/api command to the run.go script that calls it, making the CLI of cmd/api itself less surprising. Fixes #43956. Change-Id: I89468207573f7ccdbc9f12625dcdd3ef2bcf8f10 Reviewed-on: https://go-review.googlesource.com/c/go/+/315350 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Trust: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Alexander Rakoczy <alex@golang.org>
2021-02-20all: go fmt std cmd (but revert vendor)Russ Cox
Make all our package sources use Go 1.17 gofmt format (adding //go:build lines). Part of //go:build change (#41184). See https://golang.org/design/draft-gobuild Change-Id: Ia0534360e4957e58cd9a18429c39d0e32a6addb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/294430 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2021-01-21all: introduce and use internal/execabsRoland Shoemaker
Introduces a wrapper around os/exec, internal/execabs, for use in all commands. This wrapper prevents exec.LookPath and exec.Command from running executables in the current directory. All imports of os/exec in non-test files in cmd/ are replaced with imports of internal/execabs. This issue was reported by RyotaK. Fixes CVE-2021-3115 Fixes #43783 Change-Id: I0423451a6e27ec1e1d6f3fe929ab1ef69145c08f Reviewed-on: https://team-review.git.corp.google.com/c/golang/go-private/+/955304 Reviewed-by: Russ Cox <rsc@google.com> Reviewed-by: Katie Hockman <katiehockman@google.com> Reviewed-on: https://go-review.googlesource.com/c/go/+/284783 Run-TryBot: Roland Shoemaker <roland@golang.org> Reviewed-by: Katie Hockman <katie@golang.org> Trust: Roland Shoemaker <roland@golang.org>
2020-12-09all: update to use os.ReadFile, os.WriteFile, os.CreateTemp, os.MkdirTempRuss Cox
As part of #42026, these helpers from io/ioutil were moved to os. (ioutil.TempFile and TempDir became os.CreateTemp and MkdirTemp.) Update the Go tree to use the preferred names. As usual, code compiled with the Go 1.4 bootstrap toolchain and code vendored from other sources is excluded. ReadDir changes are in a separate CL, because they are not a simple search and replace. For #42026. Change-Id: If318df0216d57e95ea0c4093b89f65e5b0ababb3 Reviewed-on: https://go-review.googlesource.com/c/go/+/266365 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2020-10-20io/fs: move FileInfo, FileMode, PathError, ErrInvalid, ... from os to io/fsRuss Cox
First step of creating the new io/fs package. For #41190. Change-Id: I1339b1abdd533b0f1deab283628088b2f706fb5b Reviewed-on: https://go-review.googlesource.com/c/go/+/243906 Trust: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-09-14cmd/api: omit outside dependencies when listing the packages in "std"Bryan C. Mills
As of CL 251159, when 'go list -deps std' is run within GOROOT/src, it treats the vendored external dependencies as real module dependencies, not standard-library "vendor/" packages (which still exist in that case, but are treated as distinct packages outside the "std" module). Fixes #41358 Updates #30241 Change-Id: Ic23eae9829d90e74a340d49ca9052e9191597410 Reviewed-on: https://go-review.googlesource.com/c/go/+/254738 Run-TryBot: Bryan C. Mills <bcmills@google.com> Trust: Bryan C. Mills <bcmills@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
2020-04-20cmd/api: limit concurrent 'go list' calls to GOMAXPROCSBryan C. Mills
Each invocation of 'go list' may consume a significant quantity of system resources, including buffers for reading files and RAM for the runtime's memory footprint. Very small builders may even hit swap as a result of that load, further exacerbating resource contention. To avoid overloading small builders, restrict 'go list' calls to runtime.GOMAXPROCS as it is set at the first call to loadImports. This also somewhat improves running time even on larger machines: on my workstation, this change reduces the wall time for 'go test cmd/api' by around 100ms. Updates #38537 Change-Id: I968e0f961a8f1d84c27e1ab8b621b9670dcfd448 Reviewed-on: https://go-review.googlesource.com/c/go/+/228998 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2020-04-04cmd/dist: remove darwin/386, darwin/arm as valid portsBrad Fitzpatrick
This only removes the ability to build it, and removes it as a src/buildall.bash target (which uses go tool dist list). Now: $ go tool dist list | grep ^darwin darwin/amd64 darwin/arm64 After this, remaining is removing leftover port--specific code in the tree. Updates #37610 Updates #37611 Change-Id: I00f03b2355c2e152f75e57abd3063be243529d2d Reviewed-on: https://go-review.googlesource.com/c/go/+/226985 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org>
2020-03-25cmd/api: make NewWatcher populate its own package and import metadataBryan C. Mills
This partially undoes the optimizations of CL 177597, but makes up some of the difference by caching the package list and import metadata and making the initial calls concurrently, including in TestMain. That reduces the critical path from two sequential 'go list' invocations to just one (run many times concurrently), and eliminates the need for assumptions about the consistency of the 'std' dependency graph across platforms (and hard-coded special cases for packages that violate those assumptions). In the process, this simplifies and fixes TestBenchmark (which has been silently broken since CL 164623). This increases 'time go tool dist test api' on my workstation from 0m8.4s / 0m13.8s / 0m1.7s to 0m10.5s / 0m23.1s / 0m5.1s, compared to 0m12.4s / 0m23.2s / 0m4.7s before CL 177597. (That is, this change retains about half of the wall-time speedup, but almost none of the user-time speedup.) Tested manually using 'go test -race -bench=. cmd/api'. Fixes #37951 Change-Id: Icd537e035e725e1ee7c41d97da5c6651233b927e Reviewed-on: https://go-review.googlesource.com/c/go/+/224619 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alexander Rakoczy <alex@golang.org>
2019-05-21cmd/api: read std package info once, not per goos-goarch-cgoRuss Cox
Cuts api test time from 12.7r 26.2u 14.2s to 7.5r 12.1u 2.2s. After this change, all.bash runs in ~4:36 on my laptop. For #26473. Change-Id: I4211e6afcd7ab61a4ed2c9a2aa5ac1ea04982695 Reviewed-on: https://go-review.googlesource.com/c/go/+/177597 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-04-20all: add start of netbsd/arm64 supportMaya Rashish
This works well enough to run some code natively on arm64, but not well enough for more complicated code. I've been suggested to start a pull request anyway. Updates #30824 Change-Id: Ib4f63e0e8a9edfc862cf65b5f1b0fbf9a8a1628e GitHub-Last-Rev: b01b105e0446e349c8d9895d3ac6918fa0cdc48c GitHub-Pull-Request: golang/go#29398 Reviewed-on: https://go-review.googlesource.com/c/go/+/155739 Run-TryBot: Benny Siegert <bsiegert@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Benny Siegert <bsiegert@gmail.com>
2019-04-16all: clean up code with token.IsExportedDaniel Martí
A handful of packages were reimplementing IsExported, so use token.IsExported instead. This caused the deps test to fail for net/rpc. However, net/rpc deals with Go types, and go/token is light and fairly low-level in terms of Go tooling packages, so that's okay. While at it, replace all uses of ast.IsExported with token.IsExported. This is more consistent, and also means that the import graphs are leaner. A couple of files no longer need to import go/ast, for example. We can't get rid of cmd/compile/internal/types.IsExported, as the compiler can only depend on go/token as of Go 1.4. However, gc used different implementations in a couple of places, so consolidate the use of types.IsExported there. Finally, we can't get rid of the copied IsExported implementation in encoding/gob, as go/token depends on it as part of a test. That test can't be an external test either, so there's no easy way to break the import cycle. Overall, this removes about forty lines of unnecessary code. Change-Id: I86a475b7614261e6a7b0b153d5ca02b9f64a7b2d Reviewed-on: https://go-review.googlesource.com/c/go/+/172037 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-03-08cmd/api: use 'go list' to locate transitive dependencies of stdBryan C. Mills
With standard-library modules and vendoring, the mapping from import path to directory within the standard library is no longer entirely trivial. Fortunately, 'go list' makes that mapping straightforward to compute. Updates #30241 Updates #30228 Change-Id: Iddd77c21a527b7acdb30c17bec8b4bbd43e23756 Reviewed-on: https://go-review.googlesource.com/c/go/+/165497 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
2019-03-04cmd/api: fix no go files package panicBaokun Lee
Fixes #29837 Change-Id: I7d57c24d2133932c076df6f41dd6589f777b65dd Reviewed-on: https://go-review.googlesource.com/c/158877 Run-TryBot: Baokun Lee <nototon@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2018-11-29vendor/golang_org/x: move to internal/xBryan C. Mills
Packages in vendor/ directories have a "vendor/" path prefix in GOPATH mode, but intentionally do not in module mode. Since the import path is embedded in the compiled output, changing that path invalidates cache entries and causes cmd/go to try to rebuild (and reinstall) the vendored libraries, which will fail if the directory containing those libraries is read-only. If I understood correctly, this is the approach Russ suggested as an alternative to https://golang.org/cl/136138. Fixes #27285 Fixes #26988 Change-Id: I8a2507fa892b84cde0a803aaa79e460723da572b Reviewed-on: https://go-review.googlesource.com/c/147443 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>