Skip to content

Commit

Permalink
all: REVERSE MERGE dev.boringcrypto (cdcb4b6) into master
Browse files Browse the repository at this point in the history
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 cdcb4b6 [dev.boringcrypto] cmd/compile: remove the awful boringcrypto kludge
+ 2022-04-29 e845f57 [dev.boringcrypto] crypto/ecdsa, crypto/rsa: use boring.Cache
+ 2022-04-29 a840bf8 [dev.boringcrypto] crypto/internal/boring: add GC-aware cache
+ 2022-04-29 0184fe5 [dev.boringcrypto] crypto/x509: remove VerifyOptions.IsBoring
+ 2022-04-29 9e9c7a0 [dev.boringcrypto] crypto/..., go/build: align deps test with standard rules
+ 2022-04-29 0ec0828 [dev.boringcrypto] crypto/internal/boring: make SHA calls allocation-free
+ 2022-04-29 3cb10d1 [dev.boringcrypto] crypto/internal/boring: avoid allocation in big.Int conversion
+ 2022-04-29 509776b [dev.boringcrypto] cmd/dist: default to use of boringcrypto
+ 2022-04-29 f4c0f42 [dev.boringcrypto] all: add boringcrypto build tags
+ 2022-04-29 1f0547c [dev.boringcrypto] cmd/go: pass dependency syso to cgo too
+ 2022-04-29 e540750 [dev.boringcrypto] cmd: use notsha256 instead of md5, sha1, sha256
+ 2022-04-29 fe006d6 [dev.boringcrypto] cmd/internal/notsha256: add new package
+ 2022-04-27 ec7f516 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-04-22 ca6fd39 [dev.boringcrypto] misc/boring: skip long tests during build.release
+ 2022-04-21 19e4b10 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-04-20 e07d639 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-04-13 1f11660 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2022-04-13 bc3e5d0 [dev.boringcrypto] misc/boring: remove -trust and individual reviewers
+ 2022-04-05 4739b35 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-03-30 9d6ab82 [dev.boringcrypto] make.bash: disable GOEXPERIMENT when using bootstrap toolchain
+ 2022-03-30 d1405d7 [dev.boringcrypto] crypto/internal/boring: update build instructions to use podman
+ 2022-03-29 50b8f49 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-03-15 0af0e19 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2022-03-07 f492793 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-03-07 768804d [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2022-02-11 8521d1e [dev.boringcrypto] misc/boring: use go install cmd@latest for installing command
+ 2022-02-11 b75258f [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2022-02-08 74d25c6 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-02-03 e14fee5 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2022-01-14 d382493 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-12-09 069bbf5 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-12-06 21fa0b2 [dev.boringcrypto] crypto/internal/boring: add -pthread linker flag
+ 2021-12-03 a38b43e [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-11-09 16215e5 [dev.boringcrypto] cmd/compile: disable version test on boringcrypto
+ 2021-11-08 c9858c7 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2021-11-05 ed07c49 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2021-11-05 dc26585 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-10-28 69d5e46 [dev.boringcrypto] all: convert +build to //go:build lines in boring-specific files
+ 2021-10-08 2840ccb [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-10-08 114aa69 [dev.boringcrypto] misc/boring: fix Docker Hub references
+ 2021-10-08 7d26add [dev.boringcrypto] misc/boring: publish to Artifact Registry
+ 2021-08-27 5ae200d [dev.boringcrypto] crypto/tls: permit P-521 in FIPS mode
+ 2021-08-26 083811d [dev.boringcrypto] crypto/tls: use correct config in TestBoringClientHello
+ 2021-08-16 c7e7ce5 [dev.boringcrypto] all: merge commit 57c115e into dev.boringcrypto
+ 2021-08-10 1fb58d6 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-07-14 934db9f [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-06-08 a890a4d [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-05-13 ed1f812 [dev.boringcrypto] all: merge commit 9d0819b (CL 314609) into dev.boringcrypto
+ 2021-05-10 ad1b6f3 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-04-21 1106140 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-03-23 b397e0c [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-03-15 128cecc [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-03-10 5e2f5a3 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-02-26 42089e7 [dev.boringcrypto] api: add crypto/boring.Enabled
+ 2021-02-24 03cd666 [dev.boringcrypto] all: merge master (5b76343) into dev.boringcrypto
+ 2021-02-17 0f210b7 [dev.boringcrypto] all: merge master (2f0da6d) into dev.boringcrypto
+ 2021-02-12 1aea1b1 [dev.boringcrypto] misc/boring: support codereview.cfg in merge.sh
+ 2021-02-07 0d34d85 [dev.boringcrypto] crypto/internal/boring: remove .llvm_addrsig section
+ 2021-02-07 325e03a [dev.boringcrypto] all: add codereview.cfg
+ 2021-02-05 d4f7354 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-01-20 cf8ed7c [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2021-01-20 f22137d [dev.boringcrypto] misc/boring: add -trust and roland@ to merge.sh and release.sh
+ 2020-12-12 e5c7bd0 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-12-02 5934c43 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-12-01 dea96ad [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-11-18 906d6e3 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-11-18 95ceba1 [dev.boringcrypto] crypto/hmac: merge up to 2a206c7 and skip test
+ 2020-11-17 0985c1b [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-11-16 af814af [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-11-05 f42bd50 [dev.boringcrypto] crypto/internal/boring: update BoringCrypto module to certificate 3678
+ 2020-10-19 ceda58b [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-09-29 af85c47 [dev.boringcrypto] misc/boring: bump version to b6
+ 2020-09-29 f9b86a6 [dev.boringcrypto] go/build: satisfy the boringcrypto build tag
+ 2020-09-29 ef2b318 [dev.boringcrypto] crypto/boring: expose boring.Enabled()
+ 2020-09-14 3782421 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-08-18 6bbe47c [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-07-21 6e6e0b7 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-07-09 d85ef2b [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-07-09 a91ad42 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-06-10 5beb39b [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-05-07 dd98c0c [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-05-07 a9d2e3a [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-05-07 c19c0a0 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-05-07 36c94f8 [dev.boringcrypto] crypto/internal/boring: reject short signatures in VerifyRSAPKCS1v15
+ 2020-05-07 ee159d2 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-04-08 e067ce5 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2020-03-03 79284c2 [dev.boringcrypto] crypto/internal/boring: make accesses to RSA types with finalizers safer
+ 2020-03-02 6c64b18 [dev.boringcrypto] crypto/internal/boring: update BoringCrypto module to certificate 3318
+ 2020-02-28 13355c7 [dev.boringcrypto] misc/boring: add go1.14b4 to RELEASES file
+ 2020-02-28 4980c6b [dev.boringcrypto] misc/boring: x/build/cmd/release doesn't take subrepo flags anymore
+ 2020-02-28 601da81 [dev.boringcrypto] misc/boring: make merge.sh and release.sh a little more robust
+ 2020-02-14 09bc5e8 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2020-02-06 f96dfe6 [dev.boringcrypto] misc/boring: add go1.13.7b4 and go1.12.16b4 releases to RELEASES file
+ 2020-02-05 2f9b2e7 [dev.boringcrypto] misc/docker: update Dockerfile to match recent Buster based golang images
+ 2020-02-05 527880d [dev.boringcrypto] misc/boring: update default CL reviewer to katie@golang.org
+ 2019-11-25 50ada48 [dev.boringcrypto] misc/boring: add new releases to RELEASES file
+ 2019-11-20 6657395 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-11-20 ab0a649 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-11-19 62ce702 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-10-25 e8f1449 [dev.boringcrypto] misc/boring: add go1.13.3b4 and go1.12.12b4 to RELEASES file
+ 2019-10-17 988e4d8 [dev.boringcrypto] misc/boring: add go1.13.2b4 and go1.12.11b4 to RELEASES file
+ 2019-10-11 974fd13 [dev.boringcrypto] misc/boring: publish to Docker Hub all releases, not only the latest
+ 2019-09-27 62ce8cd [dev.boringcrypto] misc/boring: add go1.13.1b4 and go1.12.10b4 to RELEASES file
+ 2019-09-10 489d268 [dev.boringcrypto] misc/boring: add Go+BoringCrypto 1.13b4 to RELEASES file
+ 2019-09-04 e0ee090 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-09-03 ff197f3 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-08-21 5a17052 [dev.boringcrypto] misc/boring: add go1.12.9b4 to RELEASES
+ 2019-08-15 1ebc594 [dev.boringcrypto] misc/boring: add go1.12.8b4 and go1.11.13b4 to RELEASES
+ 2019-08-13 9417029 [dev.boringcrypto] misc/boring: remove download of releaselet.go in build.release
+ 2019-08-05 2691091 misc/boring: add Go 1.11.12b4 and 1.12.7b4 to RELEASES
+ 2019-07-19 6eccf6a [dev.boringcrypto] misc/boring: add scripts to automate merges and releases
+ 2019-06-27 98188f3 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-06-13 5c354e6 [dev.boringcrypto] misc/boring: add go1.12.6b4 and go1.11.11b4 releases
+ 2019-06-09 9bf9e7d [dev.boringcrypto] crypto: move crypto/internal/boring imports to reduce merge conflicts
+ 2019-06-05 324f836 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-05-28 e48f228 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-05-14 42e3532 [dev.boringcrypto] misc/boring: add go1.12.5b4 release
+ 2019-03-29 211a13f [dev.boringcrypto] misc/boring: add go1.11.6b4 to RELEASES
+ 2019-03-28 347af7f [dev.boringcrypto] misc/boring: add go1.12.1b4 and update build scripts
+ 2019-02-27 a10558f [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-02-08 4ed8ad4 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2019-01-24 14c64db [dev.boringcrypto] misc/boring: add go1.10.8b4 and go1.11.5b4
+ 2018-12-15 3f9e53f [dev.boringcrypto] misc/boring: add go1.10.7b4 and go1.11.4b4 releases
+ 2018-12-14 92d975e [dev.boringcrypto] misc/boring: add go1.11.2b4 release
+ 2018-11-14 c524da4 [dev.boringcrypto] crypto/tls: test for TLS 1.3 to be disabled in FIPS mode
+ 2018-11-14 bfd6d30 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 0007017 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 3169778 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 ab37582 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 e8b3500 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 de153ac [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-14 0cbb11c [dev.boringcrypto] cmd/compile: by default accept any language
+ 2018-11-13 11e9167 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-11-13 af07f77 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-10-25 13bf5b8 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-10-15 623650b [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-10-01 36c789b [dev.boringcrypto] misc/boring: add go1.10.4b4 and go1.11b4 releases
+ 2018-09-07 693875e [dev.boringcrypto] crypto/internal/boring: avoid an allocation in AES-GCM Seal and Open
+ 2018-09-06 4d1aa48 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-08-04 7eb1677 [dev.boringcrypto] crypto/internal/boring: fix aesCipher implementation of gcmAble
+ 2018-07-11 eaa3e94 [dev.boringcrypto] misc/boring: add go1.9.7b4 and go1.10.3b4 releases
+ 2018-07-11 5f0402a [dev.boringcrypto] misc/boring: support build.release on macOS
+ 2018-07-03 77db076 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-06-13 b77f5e4 [dev.boringcrypto] crypto/rsa: drop random source reading emulation
+ 2018-06-08 a4b7722 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-05-29 18db93d [dev.boringcrypto] crypto/tls: restore AES-GCM priority when BoringCrypto is enabled
+ 2018-05-25 3d9a6ac [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-05-18 019a994 [dev.boringcrypto] crypto/rsa: fix boringFakeRandomBlind to work with (*big.Int).ModInverse
+ 2018-05-17 a3f9ce3 [dev.boringcrypto] all: merge master into dev.boringcrypto
+ 2018-02-09 528dad8 [dev.cryptoboring] misc/boring: update README for Bazel
+ 2018-02-06 c3d83ee [dev.boringcrypto] misc/boring: add go1.9.3b4 to RELEASES
+ 2017-12-13 f62a243 [dev.boringcrypto] all: merge go1.10beta1 into dev.boringcrypto
+ 2017-12-06 3e52f22 [dev.boringcrypto] crypto/internal/boring: add MarshalBinary/UnmarshalBinary to hashes
+ 2017-12-06 5379f78 [dev.boringcrypto] all: merge master (more nearly Go 1.10 beta 1) into dev.boringcrypto
+ 2017-12-06 185e609 [dev.boringcrypto] all: merge master (nearly Go 1.10 beta 1) into dev.boringcrypto
+ 2017-11-20 c36033a [dev.boringcrypto] misc/boring: add go1.9.2b4 release
+ 2017-11-20 cda3c6f [dev.boringcrypto] all: merge go1.9.2 into dev.boringcrypto
+ 2017-10-25 2ea7d34 [release-branch.go1.9] go1.9.2
+ 2017-10-25 d93cb46 [release-branch.go1.9] runtime: use simple, more robust fastrandn
+ 2017-10-25 78952c0 [release-branch.go1.9] cmd/compile: fix sign-extension merging rules
+ 2017-10-25 79996e4 [release-branch.go1.9] cmd/compile: avoid generating large offsets
+ 2017-10-25 f36b126 [release-branch.go1.9] runtime: in cpuProfile.addExtra, set p.lostExtra to 0 after flush
+ 2017-10-25 dffc931 [release-branch.go1.9] cmd/cgo: support large unsigned macro again
+ 2017-10-25 33ce168 [release-branch.go1.9] cmd/cgo: avoid using common names for sniffing
+ 2017-10-25 f69668e [release-branch.go1.9] os: skip TestPipeThreads as flaky for 1.9
+ 2017-10-25 9be38a1 [release-branch.go1.9] runtime: avoid monotonic time zero on systems with low-res timers
+ 2017-10-25 8bb333a [release-branch.go1.9] doc: document Go 1.9.2
+ 2017-10-25 0758d2b [release-branch.go1.9] cmd/go: clean up x.exe properly in TestImportMain
+ 2017-10-25 d487b15 [release-branch.go1.9] cmd/compile: omit ICE diagnostics after normal error messages
+ 2017-10-25 fd17253 [release-branch.go1.9] database/sql: prevent race in driver by locking dc in Next
+ 2017-10-25 7e7cb30 [release-branch.go1.9] internal/poll: only call SetFileCompletionNotificationModes for sockets
+ 2017-10-25 f259aed [release-branch.go1.9] internal/poll: do not call SetFileCompletionNotificationModes if it is broken
+ 2017-10-25 39d4bb9 [release-branch.go1.9] cmd/go: correct directory used in checkNestedVCS test
+ 2017-10-25 bfc2231 [release-branch.go1.9] crypto/x509: reject intermediates with unknown critical extensions.
+ 2017-10-25 a1e34ab [release-branch.go1.9] net/smtp: NewClient: set tls field to true when already using a TLS connection
+ 2017-10-25 7dadd8d [release-branch.go1.9] net: increase expected time to dial a closed port on all Darwin ports
+ 2017-10-25 d808893 [release-branch.go1.9] cmd/compile: fix merge rules for panic calls
+ 2017-10-25 87b3a27 [release-branch.go1.9] net: bump TestDialerDualStackFDLeak timeout on iOS
+ 2017-10-25 ebfcdef [release-branch.go1.9] runtime: make runtime.GC() trigger GC even if GOGC=off
+ 2017-10-25 0ab99b3 [release-branch.go1.9] cmd/compile: fix regression in PPC64.rules move zero
+ 2017-10-25 8d4279c [release-branch.go1.9] internal/poll: be explicit when using runtime netpoller
+ 2017-10-25 1ded833 [release-branch.go1.9] cmd/compile/internal/syntax: fix source buffer refilling
+ 2017-10-25 ff8289f [release-branch.go1.9] reflect: fix pointer past-the-end in Call with zero-sized return value
+ 2017-10-25 bd34e74 [release-branch.go1.9] log: fix data race on log.Output
+ 2017-10-25 0b55d8d [release-branch.go1.9] cmd/compile: replace GOROOT in //line directives
+ 2017-10-25 5c48811 [release-branch.go1.9] cmd/compile: limit the number of simultaneously opened files to avoid EMFILE/ENFILE errors
+ 2017-10-25 8c7fa95 [release-branch.go1.9] expvar: make (*Map).Init clear existing keys
+ 2017-10-25 ccd5abc [release-branch.go1.9] cmd/compile: simplify "missing function body" error message
+ 2017-10-25 2e4358c [release-branch.go1.9] time: fix documentation of Round, Truncate behavior for d <= 0
+ 2017-10-25 c6388d3 [release-branch.go1.9] runtime: capture runtimeInitTime after nanotime is initialized
+ 2017-10-25 724638c [release-branch.go1.9] crypto/x509: skip TestSystemRoots
+ 2017-10-25 ed3b0d6 [release-branch.go1.9] internal/poll: add tests for Windows file and serial ports
+ 2017-10-04 93322a5 [release-branch.go1.9] doc: add missing "Minor revisions" header for 1.9
+ 2017-10-04 7f40c12 [release-branch.go1.9] go1.9.1
+ 2017-10-04 598433b [release-branch.go1.9] doc: document go1.9.1 and go1.8.4
+ 2017-10-04 815cad3 [release-branch.go1.9] doc/1.9: add mention of net/http.LocalAddrContextKey
+ 2017-10-04 1900d34 [release-branch.go1.9] net/smtp: fix PlainAuth to refuse to send passwords to non-TLS servers
+ 2017-10-04 a39bcec [release-branch.go1.9] cmd/go: reject update of VCS inside VCS
+ 2017-10-04 d9e6491 [release-branch.go1.9] runtime: deflake TestPeriodicGC
+ 2017-09-28 adc1f58 [dev.boringcrypto] misc/boring: add src releases
+ 2017-09-25 4038503 [dev.boringcrypto] misc/boring: add go1.8.3b4
+ 2017-09-25 d724c60 [dev.boringcrypto] misc/boring: update README
+ 2017-09-22 70bada9 [dev.boringcrypto] misc/boring: add go1.9b4 release
+ 2017-09-22 e6ad24c [dev.boringcrypto] all: merge go1.9 into dev.boringcrypto
+ 2017-09-22 431e071 [dev.boringcrypto] misc/boring: add go1.9rc2b4 release
+ 2017-09-22 cc6e26b [dev.boringcrypto] api: add crypto/x509.VerifyOptions.IsBoring to make release builder happy
+ 2017-09-22 bac02b1 [dev.boringcrypto] misc/boring: update VERSION
+ 2017-09-22 3ed08db [dev.boringcrypto] crypto/tls/fipsonly: new package to force FIPS-allowed TLS settings
+ 2017-09-20 2ba7615 [dev.boringcrypto] crypto/internal/boring: fix finalizer-induced crashes
+ 2017-09-18 32dc9b2 [dev.boringcrypto] cmd/go: exclude SysoFiles when using -msan
+ 2017-09-18 9f025cb [dev.boringcrypto] crypto/internal/boring: fall back to standard crypto when using -msan
+ 2017-09-18 89ba9e3 [dev.boringcrypto] crypto/aes: panic on invalid dst, src overlap
+ 2017-09-18 a929f3a [dev.boringcrypto] crypto/rsa: fix boring GenerateKey to set non-nil Precomputed.CRTValues
+ 2017-09-18 aa4a4a8 [dev.boringcrypto] crypto/internal/boring: fix detection of tests to allow *.test and *_test
+ 2017-09-18 c9e2d9e [dev.boringcrypto] crypto/rsa: add test for, fix observable reads from custom randomness
+ 2017-09-18 e773ea9 [dev.boringcrypto] crypto/hmac: add test for Write/Sum after Sum
+ 2017-09-18 8fa8f42 [dev.boringcrypto] crypto/internal/boring: allow hmac operations after Sum
+ 2017-09-18 07f6ce9 [dev.boringcrypto] crypto/internal/boring: handle RSA verification of short signatures
+ 2017-09-14 e8eec3f [dev.boringcrypto] cmd/compile: refine BoringCrypto kludge
+ 2017-08-30 7b49445 [dev.boringcrypto] cmd/compile: hide new boring fields from reflection
+ 2017-08-30 81b9d73 [dev.boringcrypto] crypto/hmac: test empty key
+ 2017-08-30 f6358bd [dev.boringcrypto] crypto/internal/boring: fix NewHMAC with empty key
+ 2017-08-30 9c307d8 [dev.boringcrypto] crypto/internal/cipherhw: fix AESGCMSupport for BoringCrypto
+ 2017-08-26 f48a9fb [dev.boringcrypto] misc/boring: release packaging
+ 2017-08-25 94fb822 [dev.boringcrypto] crypto/internal/boring: disable for android & non-cgo builds
+ 2017-08-25 7ff9fca [dev.boringcrypto] crypto/internal/boring: clear "executable stack" bit from syso
+ 2017-08-24 c8aec40 [release-branch.go1.9] go1.9
+ 2017-08-24 b8c9ef9 [release-branch.go1.9] doc: add go1.9 to golang.org/project
+ 2017-08-24 136f4a6 [release-branch.go1.9] doc: document go1.9
+ 2017-08-24 867be4c [release-branch.go1.9] doc/go1.9: fix typo in Moved GOROOT
+ 2017-08-24 d1351fb [dev.boringcrypto] cmd/link: allow internal linking for crypto/internal/boring
+ 2017-08-24 991652d [dev.boringcrypto] cmd/link: work around DWARF symbol bug
+ 2017-08-22 9a4e794 [release-branch.go1.9] cmd/compile: remove gc.Sysfunc calls from 387 backend
+ 2017-08-22 ff38035 [release-branch.go1.9] doc/go1.9: fix typo in crypto/x509 of "Minor changes to the library".
+ 2017-08-19 7e9e3a0 [dev.boringcrypto] crypto/rsa: use BoringCrypto
+ 2017-08-19 bc38fda [dev.boringcrypto] crypto/ecdsa: use unsafe.Pointer instead of atomic.Value
+ 2017-08-18 42046e8 [release-branch.go1.9] runtime: fix false positive race in profile label reading
+ 2017-08-18 fbf7e1f [release-branch.go1.9] testing: don't fail all tests after racy test failure
+ 2017-08-18 21312a4 [release-branch.go1.9] cmd/dist: update deps.go for current dependencies
+ 2017-08-18 5927854 [release-branch.go1.9] cmd/compile: add rules handling unsigned div/mod by constant 1<<63
+ 2017-08-18 65717b2 [release-branch.go1.9] runtime: fix usleep by correctly setting nanoseconds parameter for pselect6
+ 2017-08-17 b1f201e [dev.boringcrypto] crypto/ecdsa: use BoringCrypto
+ 2017-08-17 2efded1 [dev.boringcrypto] crypto/tls: use TLS-specific AES-GCM mode if available
+ 2017-08-17 335a0f8 [dev.boringcrypto] crypto/aes: implement TLS-specific AES-GCM mode from BoringCrypto
+ 2017-08-17 8d05ec9 [dev.boringcrypto] crypto/aes: use BoringCrypto
+ 2017-08-17 74e33c4 [dev.boringcrypto] crypto/hmac: use BoringCrypto
+ 2017-08-17 96d6718 [dev.boringcrypto] crypto/sha1,sha256,sha512: use BoringCrypto
+ 2017-08-17 e0e2bbd [dev.boringcrypto] runtime/race: move TestRaceIssue5567 from sha1 to crc32
+ 2017-08-17 fe02ba3 [dev.boringcrypto] crypto/rand: use BoringCrypto
+ 2017-08-17 6e70f88 [dev.boringcrypto] crypto/internal/boring: add initial BoringCrypto access
+ 2017-08-16 dcdcc38 [dev.boringcrypto] add README.boringcrypto.md, update VERSION
+ 2017-08-16 19b89a2 [dev.boringcrypto] cmd/link: implement R_X86_64_PC64 relocations
+ 2017-08-07 048c9cf [release-branch.go1.9] go1.9rc2
+ 2017-08-07 cff0de3 [release-branch.go1.9] all: merge master into release-branch.go1.9
+ 2017-07-31 196492a [release-branch.go1.9] runtime: map bitmap and spans during heap initialization
+ 2017-07-31 1a6d87d [release-branch.go1.9] runtime: fall back to small mmaps if we fail to grow reservation
+ 2017-07-27 7320506 [release-branch.go1.9] cmd/dist: skip moved GOROOT on Go's Windows builders when not sharding tests
+ 2017-07-24 65c6c88 [release-branch.go1.9] go1.9rc1
+ 2017-07-24 fbc9b49 [release-branch.go1.9] cmd/compile: consider exported flag in namedata

Change-Id: I5344e8e4813a9a0900f6633499a3ddf22895a4d5
  • Loading branch information
rsc committed May 3, 2022
2 parents 99f1bf5 + cdcb4b6 commit f771edd
Show file tree
Hide file tree
Showing 112 changed files with 7,065 additions and 110 deletions.
2 changes: 1 addition & 1 deletion misc/cgo/testshared/shared_test.go
Expand Up @@ -57,7 +57,7 @@ func runWithEnv(t *testing.T, msg string, env []string, args ...string) {
func goCmd(t *testing.T, args ...string) string {
newargs := []string{args[0]}
if *testX && args[0] != "env" {
newargs = append(newargs, "-x")
newargs = append(newargs, "-x", "-ldflags=-v")
}
newargs = append(newargs, args[1:]...)
c := exec.Command("go", newargs...)
Expand Down
17 changes: 17 additions & 0 deletions src/cmd/api/goapi_boring_test.go
@@ -0,0 +1,17 @@
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build boringcrypto

package main

import (
"fmt"
"os"
)

func init() {
fmt.Printf("SKIP with boringcrypto enabled\n")
os.Exit(0)
}
6 changes: 3 additions & 3 deletions src/cmd/cgo/main.go
Expand Up @@ -11,7 +11,6 @@
package main

import (
"crypto/md5"
"flag"
"fmt"
"go/ast"
Expand All @@ -28,6 +27,7 @@ import (
"strings"

"cmd/internal/edit"
"cmd/internal/notsha256"
"cmd/internal/objabi"
)

Expand Down Expand Up @@ -331,8 +331,8 @@ func main() {
// we use to coordinate between gcc and ourselves.
// We already put _cgo_ at the beginning, so the main
// concern is other cgo wrappers for the same functions.
// Use the beginning of the md5 of the input to disambiguate.
h := md5.New()
// Use the beginning of the notsha256 of the input to disambiguate.
h := notsha256.New()
io.WriteString(h, *importPath)
fs := make([]*File, len(goFiles))
for i, input := range goFiles {
Expand Down
4 changes: 4 additions & 0 deletions src/cmd/compile/internal/amd64/versions_test.go
Expand Up @@ -2,6 +2,10 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// When using GOEXPERIMENT=boringcrypto, the test program links in the boringcrypto syso,
// which does not respect GOAMD64, so we skip the test if boringcrypto is enabled.
//go:build !boringcrypto

package amd64_test

import (
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/compile/internal/liveness/plive.go
Expand Up @@ -15,7 +15,6 @@
package liveness

import (
"crypto/sha1"
"fmt"
"os"
"sort"
Expand All @@ -30,6 +29,7 @@ import (
"cmd/compile/internal/ssa"
"cmd/compile/internal/typebits"
"cmd/compile/internal/types"
"cmd/internal/notsha256"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/src"
Expand Down Expand Up @@ -959,7 +959,7 @@ func (lv *liveness) enableClobber() {
// Clobber only functions where the hash of the function name matches a pattern.
// Useful for binary searching for a miscompiled function.
hstr := ""
for _, b := range sha1.Sum([]byte(lv.f.Name)) {
for _, b := range notsha256.Sum256([]byte(lv.f.Name)) {
hstr += fmt.Sprintf("%08b", b)
}
if !strings.HasSuffix(hstr, h) {
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/compile/internal/ssa/func.go
Expand Up @@ -8,8 +8,8 @@ import (
"cmd/compile/internal/abi"
"cmd/compile/internal/base"
"cmd/compile/internal/types"
"cmd/internal/notsha256"
"cmd/internal/src"
"crypto/sha1"
"fmt"
"io"
"math"
Expand Down Expand Up @@ -854,7 +854,7 @@ func (f *Func) DebugHashMatch(evname string) bool {
// We use this feature to do a binary search to
// find a function that is incorrectly compiled.
hstr := ""
for _, b := range sha1.Sum([]byte(name)) {
for _, b := range notsha256.Sum256([]byte(name)) {
hstr += fmt.Sprintf("%08b", b)
}

Expand Down
9 changes: 5 additions & 4 deletions src/cmd/compile/internal/ssa/print.go
Expand Up @@ -6,18 +6,19 @@ package ssa

import (
"bytes"
"cmd/internal/src"
"crypto/sha256"
"fmt"
"io"

"cmd/internal/notsha256"
"cmd/internal/src"
)

func printFunc(f *Func) {
f.Logf("%s", f)
}

func hashFunc(f *Func) []byte {
h := sha256.New()
h := notsha256.New()
p := stringFuncPrinter{w: h, printDead: true}
fprintFunc(p, f)
return h.Sum(nil)
Expand All @@ -32,7 +33,7 @@ func (f *Func) String() string {

// rewriteHash returns a hash of f suitable for detecting rewrite cycles.
func (f *Func) rewriteHash() string {
h := sha256.New()
h := notsha256.New()
p := stringFuncPrinter{w: h, printDead: false}
fprintFunc(p, f)
return fmt.Sprintf("%x", h.Sum(nil))
Expand Down
8 changes: 4 additions & 4 deletions src/cmd/compile/internal/staticdata/data.go
Expand Up @@ -5,7 +5,6 @@
package staticdata

import (
"crypto/sha256"
"fmt"
"go/constant"
"io"
Expand All @@ -20,6 +19,7 @@ import (
"cmd/compile/internal/objw"
"cmd/compile/internal/typecheck"
"cmd/compile/internal/types"
"cmd/internal/notsha256"
"cmd/internal/obj"
"cmd/internal/objabi"
"cmd/internal/src"
Expand Down Expand Up @@ -73,7 +73,7 @@ func StringSym(pos src.XPos, s string) (data *obj.LSym) {
// Indulge in some paranoia by writing the length of s, too,
// as protection against length extension attacks.
// Same pattern is known to fileStringSym below.
h := sha256.New()
h := notsha256.New()
io.WriteString(h, s)
symname = fmt.Sprintf(stringSymPattern, len(s), h.Sum(nil))
} else {
Expand Down Expand Up @@ -131,7 +131,7 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj.
sym = slicedata(pos, string(data)).Linksym()
}
if len(hash) > 0 {
sum := sha256.Sum256(data)
sum := notsha256.Sum256(data)
copy(hash, sum[:])
}
return sym, size, nil
Expand All @@ -148,7 +148,7 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj.
// Compute hash if needed for read-only content hashing or if the caller wants it.
var sum []byte
if readonly || len(hash) > 0 {
h := sha256.New()
h := notsha256.New()
n, err := io.Copy(h, f)
if err != nil {
return nil, 0, err
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/compile/internal/typecheck/iexport.go
Expand Up @@ -236,7 +236,6 @@ package typecheck

import (
"bytes"
"crypto/md5"
"encoding/binary"
"fmt"
"go/constant"
Expand All @@ -250,6 +249,7 @@ import (
"cmd/compile/internal/ir"
"cmd/compile/internal/types"
"cmd/internal/goobj"
"cmd/internal/notsha256"
"cmd/internal/src"
)

Expand Down Expand Up @@ -353,7 +353,7 @@ func WriteExports(out io.Writer, extensions bool) {
hdr.uint64(dataLen)

// Flush output.
h := md5.New()
h := notsha256.New()
wr := io.MultiWriter(out, h)
io.Copy(wr, &hdr)
io.Copy(wr, &p.strings)
Expand Down
6 changes: 3 additions & 3 deletions src/cmd/compile/internal/types/fmt.go
Expand Up @@ -6,7 +6,6 @@ package types

import (
"bytes"
"crypto/md5"
"encoding/binary"
"fmt"
"go/constant"
Expand All @@ -15,6 +14,7 @@ import (
"sync"

"cmd/compile/internal/base"
"cmd/internal/notsha256"
)

// BuiltinPkg is a fake package that declares the universe block.
Expand Down Expand Up @@ -771,7 +771,7 @@ func FmtConst(v constant.Value, sharp bool) string {
func TypeHash(t *Type) uint32 {
p := tconv(t, 0, fmtTypeIDHash)

// Using MD5 is overkill, but reduces accidental collisions.
h := md5.Sum([]byte(p))
// Using SHA256 is overkill, but reduces accidental collisions.
h := notsha256.Sum256([]byte(p))
return binary.LittleEndian.Uint32(h[:4])
}
1 change: 1 addition & 0 deletions src/cmd/dist/buildtool.go
Expand Up @@ -44,6 +44,7 @@ var bootstrapDirs = []string{
"cmd/internal/edit",
"cmd/internal/gcprog",
"cmd/internal/goobj",
"cmd/internal/notsha256",
"cmd/internal/obj/...",
"cmd/internal/objabi",
"cmd/internal/pkgpath",
Expand Down
22 changes: 22 additions & 0 deletions src/cmd/go/go_boring_test.go
@@ -0,0 +1,22 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build boringcrypto

package main_test

import "testing"

func TestBoringInternalLink(t *testing.T) {
tg := testgo(t)
defer tg.cleanup()
tg.parallel()
tg.tempFile("main.go", `package main
import "crypto/sha1"
func main() {
sha1.New()
}`)
tg.run("build", "-ldflags=-w -extld=false", tg.path("main.go"))
tg.run("build", "-ldflags=-extld=false", tg.path("main.go"))
}
12 changes: 10 additions & 2 deletions src/cmd/go/go_test.go
Expand Up @@ -1903,8 +1903,12 @@ func TestBinaryOnlyPackages(t *testing.T) {
tg.grepStdout("p2: false", "p2 listed as BinaryOnly")
}

// Issue 16050.
func TestAlwaysLinkSysoFiles(t *testing.T) {
// Issue 16050 and 21884.
func TestLinkSysoFiles(t *testing.T) {
if runtime.GOOS != "linux" || runtime.GOARCH != "amd64" {
t.Skip("not linux/amd64")
}

tg := testgo(t)
defer tg.cleanup()
tg.parallel()
Expand All @@ -1923,6 +1927,10 @@ func TestAlwaysLinkSysoFiles(t *testing.T) {
tg.setenv("CGO_ENABLED", "0")
tg.run("list", "-f", "{{.SysoFiles}}", "syso")
tg.grepStdout("a.syso", "missing syso file with CGO_ENABLED=0")

tg.setenv("CGO_ENABLED", "1")
tg.run("list", "-msan", "-f", "{{.SysoFiles}}", "syso")
tg.grepStdoutNot("a.syso", "unexpected syso file with -msan")
}

// Issue 16120.
Expand Down
6 changes: 6 additions & 0 deletions src/cmd/go/internal/load/pkg.go
Expand Up @@ -401,6 +401,12 @@ func (p *Package) copyBuild(opts PackageOpts, pp *build.Package) {
p.SwigFiles = pp.SwigFiles
p.SwigCXXFiles = pp.SwigCXXFiles
p.SysoFiles = pp.SysoFiles
if cfg.BuildMSan {
// There's no way for .syso files to be built both with and without
// support for memory sanitizer. Assume they are built without,
// and drop them.
p.SysoFiles = nil
}
p.CgoCFLAGS = pp.CgoCFLAGS
p.CgoCPPFLAGS = pp.CgoCPPFLAGS
p.CgoCXXFLAGS = pp.CgoCXXFLAGS
Expand Down
22 changes: 21 additions & 1 deletion src/cmd/go/internal/work/exec.go
Expand Up @@ -22,6 +22,7 @@ import (
"path/filepath"
"regexp"
"runtime"
"sort"
"strconv"
"strings"
"sync"
Expand Down Expand Up @@ -2993,7 +2994,26 @@ func (b *Builder) dynimport(a *Action, p *load.Package, objdir, importGo, cgoExe
return err
}

linkobj := str.StringList(ofile, outObj, mkAbsFiles(p.Dir, p.SysoFiles))
// Gather .syso files from this package and all (transitive) dependencies.
var syso []string
seen := make(map[*Action]bool)
var gatherSyso func(*Action)
gatherSyso = func(a1 *Action) {
if seen[a1] {
return
}
seen[a1] = true
if p1 := a1.Package; p1 != nil {
syso = append(syso, mkAbsFiles(p1.Dir, p1.SysoFiles)...)
}
for _, a2 := range a1.Deps {
gatherSyso(a2)
}
}
gatherSyso(a)
sort.Strings(syso)
str.Uniq(&syso)
linkobj := str.StringList(ofile, outObj, syso)
dynobj := objdir + "_cgo_.o"

ldflags := cgoLDFLAGS
Expand Down
54 changes: 54 additions & 0 deletions src/cmd/go/testdata/script/link_syso_deps.txt
@@ -0,0 +1,54 @@
# Test that syso in deps is available to cgo.

[!gc] skip
[!cgo] skip

# External linking is not supported on linux/ppc64.
# See: https://github.com/golang/go/issues/8912
[linux] [ppc64] skip

cc -c -o syso/x.syso syso/x.c
cc -c -o syso2/x.syso syso2/x.c
go build m/cgo

-- go.mod --
module m

go 1.18
-- cgo/x.go --
package cgo

// extern void f(void);
// extern void g(void);
import "C"

func F() {
C.f()
}

func G() {
C.g()
}

-- cgo/x2.go --
package cgo

import _ "m/syso"

-- syso/x.c --
//go:build ignore

void f() {}

-- syso/x.go --
package syso

import _ "m/syso2"

-- syso2/x.c --
//go:build ignore

void g() {}

-- syso2/x.go --
package syso2

0 comments on commit f771edd

Please sign in to comment.