aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-08[release-branch.go1.11] go1.11.8go1.11.8Andrew Bonventre
Change-Id: Ie15c45050f817213b3f5955dc98b48a6cf2a6317 Reviewed-on: https://go-review.googlesource.com/c/go/+/171148 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-04-08[release-branch.go1.11] doc: correct link in 1.11.8 notesAndrew Bonventre
Change-Id: I09e0c2720ec0a51dc73c24b4550a749448656025 Reviewed-on: https://go-review.googlesource.com/c/go/+/171143 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit 6f512c8d6696b288372c48c19058bbe9dcb79da0) Reviewed-on: https://go-review.googlesource.com/c/go/+/171146 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-04-08[release-branch.go1.11] doc: document Go 1.11.8Andrew Bonventre
Change-Id: Ia06f7005f466e55a22c76bf2b47d74ee8eb77dd1 Reviewed-on: https://go-review.googlesource.com/c/go/+/171139 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit 739a78f2b8de3139ec253719d0a688c08b8e5324) Reviewed-on: https://go-review.googlesource.com/c/go/+/171142 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-04-05[release-branch.go1.11] go1.11.7go1.11.7Andrew Bonventre
Change-Id: I14c2be9eedb5332d0b3a66029a86f7cb9e6091cc Reviewed-on: https://go-review.googlesource.com/c/go/+/170889 Run-TryBot: Andrew Bonventre <andybons@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-04-05[release-branch.go1.11] doc: document Go 1.11.7Andrew Bonventre
Change-Id: Iec5e69b3ea163f42234d3b73696427a7aa8732e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/170884 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit e47ced78578c471cbcd34a7d6b223a71e84a46c8) Reviewed-on: https://go-review.googlesource.com/c/go/+/170887 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-03-27[release-branch.go1.11] net: fix test after 8.8.8.8 changed its reverse DNS nameBrad Fitzpatrick
Google's 8.8.8.8 DNS server used to reports its reverse DNS name as ending in ".google.com". Now it's "dns.google.". Change-Id: I7dd15f03239e5c3f202e471618ab867690cb4f9d Reviewed-on: https://go-review.googlesource.com/c/go/+/169679 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> (cherry picked from commit 3089d189569ed272eaf2bc6c4330e848a46e9999) Reviewed-on: https://go-review.googlesource.com/c/go/+/169718
2019-03-19[release-branch.go1.11] runtime: fix write barrier on wasmAustin Clements
The current wasm write barrier implementation incorrectly implements the "deletion" part of the barrier. It correctly greys the new value of the pointer, but rather than also greying the old value of the pointer, it greys the object containing the slot (which, since the old value was just overwritten, is not going to contain the old value). This can lead to unmarked, reachable objects. Often, this is masked by other marking activity, but one specific sequence that can lead to an unmarked object because of this bug is: 1. Initially, GC is off, object A is reachable from just one pointer in the heap. 2. GC starts and scans the stack of goroutine G. 3. G copies the pointer to A on to its stack and overwrites the pointer to A in the heap. (Now A is reachable only from G's stack.) 4. GC finishes while A is still reachable from G's stack. With a functioning deletion barrier, step 3 causes A to be greyed. Without a functioning deletion barrier, nothing causes A to be greyed, so A will be freed even though it's still reachable from G's stack. This CL fixes the wasm write barrier. Fixes #30872. Change-Id: I8a74ee517facd3aa9ad606e5424bcf8f0d78e754 Reviewed-on: https://go-review.googlesource.com/c/go/+/167743 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> (cherry picked from commit d9db9e32e924a60bbfbb15cc0dd7cfaaf8a62a3b) Reviewed-on: https://go-review.googlesource.com/c/go/+/167746 Reviewed-by: Katie Hockman <katie@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-03-14[release-branch.go1.11] go1.11.6go1.11.6Andrew Bonventre
Change-Id: I944d7cb825b8791486446d78feae9eed0a5479c4 Reviewed-on: https://go-review.googlesource.com/c/go/+/167705 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-03-14[release-branch.go1.11] runtime: skip TestLockOSThreadAvoidsStatePropagation ↵Michael Anthony Knyszek
if one can't unshare This change splits a testprog out of TestLockOSThreadExit and makes it its own test. Then, this change makes the testprog exit prematurely with a special message if unshare fails with EPERM because not all of the builders allow the user to call the unshare syscall. Also, do some minor cleanup on the TestLockOSThread* tests. Fixes #29366. Change-Id: Id8a9f6c4b16e26af92ed2916b90b0249ba226dbe Reviewed-on: https://go-review.googlesource.com/c/155437 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit 429bae715876c69853bb63db1733f580e293c916) Reviewed-on: https://go-review.googlesource.com/c/go/+/167707 Run-TryBot: Andrew Bonventre <andybons@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
2019-03-14[release-branch.go1.11] doc: document Go 1.11.6Andrew Bonventre
Change-Id: I99832fa4f2c3ec28e2dad46cf7607f3766948031 Reviewed-on: https://go-review.googlesource.com/c/go/+/167698 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit d3bb45d9046bb7d12c4fc9cdaf122f36d001fd31) Reviewed-on: https://go-review.googlesource.com/c/go/+/167700
2019-02-27[release-branch.go1.11] crypto/x509: explicitly cast printf format argumentTobias Klauser
After CL 128056 the build fails on darwin/386 with src/crypto/x509/root_cgo_darwin.go:218:55: warning: values of type 'SInt32' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat] go build crypto/x509: C compiler warning promoted to error on Go builders Fix the warning by explicitly casting the argument to an int as suggested by the warning. Fixes #30444 Change-Id: Icb6bd622a543e9bc5f669fd3d7abd418b4a8e579 Reviewed-on: https://go-review.googlesource.com/c/152958 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> (cherry picked from commit ec0077c54d6261ba5cbab2c5dc2e80345068233f) Reviewed-on: https://go-review.googlesource.com/c/164240 Run-TryBot: Filippo Valsorda <filippo@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-26[release-branch.go1.11] crypto/x509: consider parents by Subject if AKID has ↵Filippo Valsorda
no match If a certificate somehow has an AKID, it should still chain successfully to a parent without a SKID, even if the latter is invalid according to RFC 5280, because only the Subject is authoritative. This reverts to the behavior before #29233 was fixed in 770130659. Roots with the right subject will still be shadowed by roots with the right SKID and the wrong subject, but that's been the case for a long time, and is left for a more complete fix in Go 1.13. Updates #30079 Fixes #30081 Change-Id: If8ab0179aca86cb74caa926d1ef93fb5e416b4bb Reviewed-on: https://go-review.googlesource.com/c/161097 Reviewed-by: Adam Langley <agl@golang.org> (cherry picked from commit 95e5b07cf5fdf3352f04f5557df38f22c55ce8e8) Reviewed-on: https://go-review.googlesource.com/c/163739 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-25[release-branch.go1.11] cmd/compile: fix deriving from x+d >= w on overflow ↵Cherry Zhang
in prove pass In the case of x+d >= w, where d and w are constants, we are deriving x is within the bound of min=w-d and max=maxInt-d. When there is an overflow (min >= max), we know only one of x >= min or x <= max is true, and we derive this by excluding the other. When excluding x >= min, we did not consider the equal case, so we could incorrectly derive x <= max when x == min. Updates #29502. Fixes #29503. Change-Id: Ia9f7d814264b1a3ddf78f52e2ce23377450e6e8a Reviewed-on: https://go-review.googlesource.com/c/156019 Reviewed-by: David Chase <drchase@google.com> (cherry picked from commit 2e217fa726a624093eea5b099d1531c79e27a423) Reviewed-on: https://go-review.googlesource.com/c/163724 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2019-02-22[release-branch.go1.11] crypto/x509: fix root CA extraction on macOS (no-cgo ↵Filippo Valsorda
path) Certificates without any trust settings might still be in the keychain (for example if they used to have some, or if they are intermediates for offline verification), but they are not to be trusted. The only ones we can trust unconditionally are the ones in the system roots store. Moreover, the verify-cert invocation was not specifying the ssl policy, defaulting instead to the basic one. We have no way of communicating different usages in a CertPool, so stick to the WebPKI use-case as the primary one for crypto/x509. Updates #24652 Fixes #26039 Change-Id: Ife8b3d2f4026daa1223aa81fac44aeeb4f96528a Reviewed-on: https://go-review.googlesource.com/c/128116 Reviewed-by: Adam Langley <agl@google.com> Reviewed-by: Adam Langley <agl@golang.org> (cherry picked from commit aa2415807781ba84bf917c62cb983dc1a44f2ad1) Reviewed-on: https://go-review.googlesource.com/c/162861 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-22[release-branch.go1.11] crypto/x509: fix root CA extraction on macOS (cgo path)Filippo Valsorda
The cgo path was not taking policies into account, using the last security setting in the array whatever it was. Also, it was not aware of the defaults for empty security settings, and for security settings without a result type. Finally, certificates restricted to a hostname were considered roots. The API docs for this code are partial and not very clear, so this is a best effort, really. Updates #24652 Updates #26039 Change-Id: I8fa2fe4706f44f3d963b32e0615d149e997b537d Reviewed-on: https://go-review.googlesource.com/c/128056 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@google.com> Reviewed-by: Adam Langley <agl@golang.org> (cherry picked from commit f6be1cf109a2be59b96d1fa913adfa1fbc628579) Reviewed-on: https://go-review.googlesource.com/c/162860 Reviewed-by: Andrew Bonventre <andybons@golang.org>
2019-02-01[release-branch.go1.11] cmd/cgo: ignore unrecognized GCC warning group pragmasYuval Pavel Zholkover
CL 159859 causes build failure with old clang versions (3.4.1) on FreeBSD 10.3/10.4. Update #29962 Reviewed-on: https://go-review.googlesource.com/c/160777 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> (cherry picked from commit 6f4dc1ccf9735013fdb7cd044bda29d19bebb906) Change-Id: Ie78d552ea6494fe3c4059847b26c2a6e206f9515 Reviewed-on: https://go-review.googlesource.com/c/160780 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-01[release-branch.go1.11] cmd/cgo: disable GCC 9 warnings triggered by cgo codeIan Lance Taylor
GCC 9 has started emitting warnings when taking the address of a field in a packed struct may cause a misaligned pointer. We use packed structs in cgo to ensure that our field layout matches the C compiler's layout. Our pointers are always aligned, so disable the warning Updates #29962 Fixes #29967 Change-Id: I7e290a7cf694a2c2958529e340ebed9fcd62089c Reviewed-on: https://go-review.googlesource.com/c/159859 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> (cherry picked from commit f2a416b90ac68596ea05b97cefa8c72e7416e98f) Reviewed-on: https://go-review.googlesource.com/c/160449 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-01[release-branch.go1.11] net/http, net/url: reject control characters in URLsBrad Fitzpatrick
Cherry pick of combined CL 159157 + CL 160178. Fixes #29923 Updates #27302 Updates #22907 Change-Id: I6de92c14284595a58321a4b4d53229285979b872 Reviewed-on: https://go-review.googlesource.com/c/160798 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-02-01[release-branch.go1.11] runtime: disable GDB tests on freebsd on all GOARCH ↵Yuval Pavel Zholkover
values The in-tree GDB is too old (6.1.1) on all the builders except the FreeBSD 12.0 one, where it was removed from the base system. Update #29508 Change-Id: Ib6091cd86440ea005f3f903549a0223a96621a6f Reviewed-on: https://go-review.googlesource.com/c/156717 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-on: https://go-review.googlesource.com/c/160800 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Yuval Pavel Zholkover <paulzhol@gmail.com>
2019-01-23[release-branch.go1.11] all: merge release-branch.go1.11-security into ↵Julie Qiu
release-branch.go1.11 Change-Id: Ic59638be13c6dadeccd5974ec6cd9ef4b5b4b526
2019-01-23[release-branch.go1.11-security] go1.11.5go1.11.5Julie Qiu
Change-Id: Ib957fc19ae0633f77e2a5a9219f7a11ceda3f092 Reviewed-on: https://team-review.git.corp.google.com/c/400909 Reviewed-by: Filippo Valsorda <valsorda@google.com>
2019-01-23[release-branch.go1.11-security] net: pass if at least one matching entry in ↵Ian Lance Taylor
TestLookupGmailTXT Fixes #29698 Change-Id: I0531c0a274b120af8871aa2f5975744ff6c912a3 Reviewed-on: https://go-review.googlesource.com/c/157638 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://team-review.git.corp.google.com/c/401203 Reviewed-by: Filippo Valsorda <valsorda@google.com>
2019-01-23[release-branch.go1.11-security] doc: document Go 1.11.5 and Go 1.10.8Julie Qiu
Change-Id: I97ce42e1e9a6d10bf1eeccc2763e043d8ebe5bab Reviewed-on: https://team-review.git.corp.google.com/c/400906 Reviewed-by: Filippo Valsorda <valsorda@google.com> (cherry picked from commit efe766c7c0918da96aa21e1ac03a9d3fa57ca156) Reviewed-on: https://team-review.git.corp.google.com/c/401144
2019-01-23[release-branch.go1.11-security] crypto/elliptic: reduce subtraction term to ↵Filippo Valsorda
prevent long busy loop If beta8 is unusually large, the addition loop might take a very long time to bring x3-beta8 back positive. This would lead to a DoS vulnerability in the implementation of the P-521 and P-384 elliptic curves that may let an attacker craft inputs to ScalarMult that consume excessive amounts of CPU. This fixes CVE-2019-6486. Change-Id: Ia969e8b5bf5ac4071a00722de9d5e4d856d8071a Reviewed-on: https://team-review.git.corp.google.com/c/399777 Reviewed-by: Adam Langley <agl@google.com> Reviewed-by: Julie Qiu <julieqiu@google.com> (cherry picked from commit 746d6abe2dfb9ce7609f8e1e1a8dcb7e221f423e) Reviewed-on: https://team-review.git.corp.google.com/c/401142 Reviewed-by: Filippo Valsorda <valsorda@google.com>
2019-01-14[release-branch.go1.11] net: pass if at least one matching entry in ↵Ian Lance Taylor
TestLookupGmailTXT Updates #29698 Fixes #29700 Change-Id: I0531c0a274b120af8871aa2f5975744ff6c912a3 Reviewed-on: https://go-review.googlesource.com/c/157638 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit 7cbfa55b5d17c8deaecff05e4221f828467cfa97) Reviewed-on: https://go-review.googlesource.com/c/157639
2019-01-07[release-branch.go1.11] cmd/go: respect gcflags, ldflags in 'go test'Alessandro Arzilli
Fixes bug introduced by https://golang.org/cl/129059 where gcflags='all=...' and ldflags='all=...' would not be applied to some packages built by 'go test'. LoadImport used to set gcflags/ldflags for the Package objects it created, in https://golang.org/cl/129059 this code was factored out to setToolFlags. The codepath of `go build` was updated to call setToolFlags appropriatley, but the codepath of `go test -c` wasn't, resulting in gcflags/ldflags being applied inconsistently when building tests. This commit changes TestPackagesFor to call setToolFlags on the package objects it creates. Fixes #28346 Change-Id: Idcbec0c989ee96ec066207184611f08818873e8d Reviewed-on: https://go-review.googlesource.com/c/136275 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com> (cherry picked from commit 374546d800124e9ab4d51b75e335a71f866f3ef8) Reviewed-on: https://go-review.googlesource.com/c/156377 Run-TryBot: Alessandro Arzilli <alessandro.arzilli@gmail.com>
2019-01-04[release-branch.go1.11] runtime: don't scan go'd function args past length ↵Keith Randall
of ptr bitmap Use the length of the bitmap to decide how much to pass to the write barrier, not the total length of the arguments. The test needs enough arguments so that two distinct bitmaps get interpreted as a single longer bitmap. Fixes #29565 Change-Id: I78f3f7f9ec89c2ad4678f0c52d3d3def9cac8e72 Reviewed-on: https://go-review.googlesource.com/c/156123 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-on: https://go-review.googlesource.com/c/156359 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-01-04[release-branch.go1.11] runtime: add test for go function argument scanningKeith Randall
Derived from Naoki's reproducer. Update #29565 Change-Id: I1cbd33b38a2f74905dbc22c5ecbad4a87a24bdd1 Reviewed-on: https://go-review.googlesource.com/c/156122 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> (cherry picked from commit af4320350b3a156de0d1cfa9845ab1e48dcbfefa) Reviewed-on: https://go-review.googlesource.com/c/156358 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-01-04[release-branch.go1.11] runtime: skip stack barrier copy when there are no ↵Inada Naoki
pointers After CL 31455, "go fun(n)" may put "n" to write barrier buffer when there are no pointers in fun's arguments. Updates #29565 Change-Id: Icfa42b8759ce8ad9267dcb3859c626feb6fda381 Reviewed-on: https://go-review.googlesource.com/c/155779 Reviewed-by: Keith Randall <khr@golang.org> (cherry picked from commit 5372257e600989ab4cf742b35e3fa649cad3f45c) Reviewed-on: https://go-review.googlesource.com/c/156357 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2019-01-04[release-branch.go1.11] cmd/compile: fix MIPS SGTconst-with-shift rulesCherry Zhang
(SGTconst [c] (SRLconst _ [d])) && 0 <= int32(c) && uint32(d) <= 31 && 1<<(32-uint32(d)) <= int32(c) -> (MOVWconst [1]) This rule is problematic. 1<<(32-uint32(d)) <= int32(c) meant to say that it is true if c is greater than the largest possible value of the right shift. But when d==1, 1<<(32-1) is negative and results in the wrong comparison. Rewrite the rules in a more direct way. Updates #29402. Fixes #29442. Change-Id: I5940fc9538d9bc3a4bcae8aa34672867540dc60e Reviewed-on: https://go-review.googlesource.com/c/155798 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> (cherry picked from commit 6a64efc25004175e198e75191e215a7b1a08a2fa) Reviewed-on: https://go-review.googlesource.com/c/155799 Reviewed-by: David Chase <drchase@google.com>
2019-01-03[release-branch.go1.11] encoding/json: recover saved error context when ↵Ian Davis
unmarshalling Fixes #29364 Change-Id: I270c56fd0d5ae8787a1293029aff3072f4f52f33 Reviewed-on: https://go-review.googlesource.com/132955 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> (cherry picked from commit 22afb3571c4bb6268664ecc5da4416ec58d3e060) Reviewed-on: https://go-review.googlesource.com/c/155377 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
2018-12-19[release-branch.go1.11] runtime: don't clear lockedExt on locked M when G exitsMichael Anthony Knyszek
When a locked M has its G exit without calling UnlockOSThread, then lockedExt on it was getting cleared. Unfortunately, this meant that during P handoff, if a new M was started, it might get forked (on most OSes besides Windows) from the locked M, which could have kernel state attached to it. To solve this, just don't clear lockedExt. At the point where the locked M has its G exit, it will also exit in accordance with the LockOSThread API. So, we can safely assume that it's lockedExt state will no longer be used. For the case of the main thread where it just gets wedged instead of exiting, it's probably better for it to keep the locked marker since it more accurately represents its state. Fixed #28986. Change-Id: I7d3d71dd65bcb873e9758086d2cbcb9a06429b0f Reviewed-on: https://go-review.googlesource.com/c/155117 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2018-12-17[release-branch.go1.11] cmd/compile: generate interface method expression ↵Robert Griesemer
wrapper for error.Error A prior optimization (https://golang.org/cl/106175) removed the generation of unnecessary method expression wrappers, but also eliminated the generation of the wrapper for error.Error which was still required. Special-case error type in the optimization. Fixes #29307 Change-Id: I54c8afc88a2c6d1906afa2d09c68a0a3f3e2f1e3 Reviewed-on: https://go-review.googlesource.com/c/154578 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit a1aafd8b28ada0d40e2cb25fb0762ae171eec558) Reviewed-on: https://go-review.googlesource.com/c/154579 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
2018-12-14[release-branch.go1.11] go1.11.4go1.11.4Filippo Valsorda
Change-Id: Id4fe02a5b26da92e99d9817ecbf518682c4345b2 Reviewed-on: https://go-review.googlesource.com/c/154307 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2018-12-14[release-branch.go1.11] doc: document Go 1.11.4Filippo Valsorda
Change-Id: Ic098bd69fa9e3f7b2ed6c451a7a266167c0cde94 Reviewed-on: https://go-review.googlesource.com/c/154302 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> (cherry picked from commit 47713567d9ec3784688d4e41ae16dca8466dcb84) Reviewed-on: https://go-review.googlesource.com/c/154306
2018-12-14[release-branch.go1.11] doc: document Go 1.10.7Filippo Valsorda
Change-Id: Id71aad4cf6149e0ba15f7fec0b74517827c37866 Reviewed-on: https://go-review.googlesource.com/c/154303 Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> (cherry picked from commit 84bf9ce1fbe7ae8424031550d9cf3fe6b27575e3) Reviewed-on: https://go-review.googlesource.com/c/154304
2018-12-14[release-branch.go1.11] net/http: update bundled x/net/http2Dmitri Shuralyov
This updates x/net/http2 to x/net on the latest commit of x/net on release-branch.go1.11 branch, golang/net@a4630153038d3cb8c57f, for: [release-branch.go1.11] http2: don't leak streams on broken body https://golang.org/cl/154237 Fixes #28673 Change-Id: I8f40c69502fa95d1d9dff1ab68444640444442aa Reviewed-on: https://go-review.googlesource.com/c/154298 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
2018-12-14[release-branch.go1.11] cmd/cgo: don't cache bad pointer typedefsIan Lance Taylor
The set of bad pointer typedefs changes as we see more typedefs, so avoid looking in the cache when we find one. Updates #29175 Fixes #29272 Change-Id: Idd82289bdd8628d11a983fa5ec96517e3a5bcbf1 Reviewed-on: https://go-review.googlesource.com/c/153597 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> (cherry picked from commit 01e072db5d26c224dfbe7763a5b94ab23c163983) Reviewed-on: https://go-review.googlesource.com/c/154299 Run-TryBot: Filippo Valsorda <filippo@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
2018-12-14[release-branch.go1.11] cmd/compile: use correct store types in softfloatCherry Zhang
When using softfloat, floating point ops are rewritten to integer ops. The types of store ops were not rewritten. This may lower to floating point stores, which are problematic. This CL fixes this by rewriting the store types as well. This fixes test/fixedbugs/issue28688.go on Wasm. Softfloat mode is not used by default on Wasm, and it is not needed as Wasm spec supports floating points. But it is nice to have the correct types. Change-Id: Ib5e19e19fa9491b15c2f60320f8724cace5cefb5 Reviewed-on: https://go-review.googlesource.com/c/149965 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> (cherry picked from commit 63a3993a336714f95400e3e614064d4ae72995de) Reviewed-on: https://go-review.googlesource.com/c/151344 Reviewed-by: Filippo Valsorda <filippo@golang.org>
2018-12-14[release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loopIan Lance Taylor
CL 122575 and its successors introduced a loop calling loadDWARF, whereas before we only called it once. Pass a single typeConv to each call, rather than creating a new one in loadDWARF itself. Change the maps from dwarf.Type to use string keys rather than dwarf.Type keys, since when the DWARF is reloaded the dwarf.Type pointers will be different. These changes permit typeConv.Type to return a consistent value for a given DWARF type, avoiding spurious type conversion errors due to typedefs loaded after the first loop iteration. Updates #27340 Fixes #27395 Change-Id: Ic33467bbfca4c54e95909621b35ba2a58216d96e Reviewed-on: https://go-review.googlesource.com/c/152762 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> (cherry picked from commit 6d4358705301e06e71b99977b77ae2c0a6b16b86) Reviewed-on: https://go-review.googlesource.com/c/154277 Run-TryBot: Filippo Valsorda <filippo@golang.org>
2018-12-14[release-branch.go1.11] doc/go1.11: add note about go run supporting for go ↵komuW
run pkg or go run . Fixes golang/go#27047 Change-Id: I0dd40201fc03e87fbc674b47bdf9315f1783d6c2 GitHub-Last-Rev: f28ab6234ade814c4bc09e26417c424c843ad57b GitHub-Pull-Request: golang/go#27048 Reviewed-on: https://go-review.googlesource.com/c/129696 Reviewed-by: komu wairagu <komuw05@gmail.com> Reviewed-by: Andrew Bonventre <andybons@golang.org> (cherry picked from commit 352f1b77c40e2f2c0711244481e1cc25ae423830) Reviewed-on: https://go-review.googlesource.com/c/152744 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
2018-12-14[release-branch.go1.11] cmd/compile: check for negative upper bound to ↵David Chase
IsSliceInBounds IsSliceInBounds(x, y) asserts that y is not negative, but there were cases where this is not true. Change code generation to ensure that this is true when it's not obviously true. Prove phase cleans a few of these out. With this change the compiler text section is 0.06% larger, that is, not very much. Benchmarking still TBD, may need to wait for access to a benchmarking box (next week). Also corrected run.go to handle '?' in -update_errors output. Fixes #28799. Change-Id: Ia8af90bc50a91ae6e934ef973def8d3f398fac7b Reviewed-on: https://go-review.googlesource.com/c/152477 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> (cherry picked from commit ea6259d5e9d57f247b7d877d4d04602b74ae5155) Reviewed-on: https://go-review.googlesource.com/c/153638
2018-12-14[release-branch.go1.11] cmd/go/internal/modfetch: skip symlinks in ↵Bryan C. Mills
(*coderepo).Zip Tested manually. Before: $ go mod init golang.org/issue/scratch go: creating new go.mod: module golang.org/issue/scratch $ go1.11.2 mod download github.com/rogpeppe/test2@latest go: finding github.com/rogpeppe/test2 v0.0.11 $ find $GOPATH -name goodbye /tmp/tmp.Y8a8UzX3zD/_gopath/pkg/mod/github.com/rogpeppe/test2@v0.0.11/tests/goodbye $ cat $(find $GOPATH -name goodbye) hello After: $ go mod init golang.org/issue/scratch go: creating new go.mod: module golang.org/issue/scratch $ go mod download github.com/rogpeppe/test2@latest go: finding github.com/rogpeppe/test2 v0.0.11 $ find $GOPATH -name goodbye $ find $GOPATH -name hello /tmp/tmp.Zo0jhfLaRs/_gopath/pkg/mod/github.com/rogpeppe/test2@v0.0.11/tests/hello A proper regression test would require one of: • a new entry in the vcs-test server (feasible but tedious, and not easily updated by open-source contributors), or • a way to set up an HTTPS proxy in a script_test, or • a way to explicitly populate the module cache from the contents of a local repository (#28835). Fixes #29191 Updates #28835 Change-Id: I72702a7e791f8815965f0f87c82a30df4d6f0151 Reviewed-on: https://go-review.googlesource.com/c/153819 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> (cherry picked from commit 561923fa7a7d47bba99556aaa61e40dd38708773) Reviewed-on: https://go-review.googlesource.com/c/153822
2018-12-14[release-branch.go1.11] cmd/go/internal/get: move wildcard-trimming to ↵Bryan C. Mills
before CheckImportPath Previously, RepoRootForImportPath trimmed certain "..." wildcards from package patterns (even though its name suggests that the argument must be an actual import path). It trimmed at the first path element that was literally "..." (although wildcards in general may appear within a larger path element), and relied on a subsequent check in RepoRootForImportPath to catch confusing resolutions. However, that causes 'go get' with wildcard patterns in fresh paths to fail as of CL 154101: a wildcard pattern is not a valid import path, and fails the path check. (The existing Test{Vendor,Go}Get* packages in go_test.go and vendor_test.go catch the failure, but they are all skipped when the "-short" flag is set — including in all.bash — and we had forgotten to run them separately.) We now trim the path before any element that contains a wildcard, and perform the path check (and repo resolution) on only that prefix. It is possible that the expanded path after fetching the repo will be invalid, but a repository can contain directories that are not valid import paths in general anyway. Fixes #29248 Change-Id: I70fb2f7fc6603b7d339fd6c02e8cdeacfc93fc4b Reviewed-on: https://go-review.googlesource.com/c/154108 Reviewed-by: Russ Cox <rsc@golang.org> (cherry picked from commit 47fb1fbd554a76dc961bfdedaa85efcb68646ed1) Reviewed-on: https://go-review.googlesource.com/c/154110 Reviewed-by: Filippo Valsorda <filippo@golang.org>
2018-12-13[release-branch.go1.11] all: merge release-branch.go1.11-security into ↵Dmitri Shuralyov
release-branch.go1.11 Change-Id: I2aa2c7056a719f911f68a1710b3c0578a7f595b6
2018-12-13[release-branch.go1.11-security] go1.11.3go1.11.3Dmitri Shuralyov
Change-Id: I0933c8d2f635e987db1a36030ef330f77b5ef8a8 Reviewed-on: https://team-review.git.corp.google.com/c/377323 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2018-12-13[release-branch.go1.11-security] cmd/go: set user and email in test-local ↵Bryan C. Mills
git repos Some of the builders cannot infer user and email from the builder hostname. Change-Id: I6f343ae41ca7d984797e595867c8210b404b782f Reviewed-on: https://team-review.git.corp.google.com/c/376740 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2018-12-12[release-branch.go1.11-security] doc: document Go 1.11.3 and Go 1.10.6Dmitri Shuralyov
Change-Id: I3fe44887a84586d73be01df78a9cbb002c1fc9c5 Reviewed-on: https://team-review.git.corp.google.com/c/376466 Reviewed-by: Filippo Valsorda <valsorda@google.com>
2018-12-07[release-branch.go1.11-security] cmd/go/internal/get: relax pathOK check to ↵Bryan C. Mills
allow any letter This fixes a regression of #18660 with the new path checks. Change-Id: I2dd9adab999e7f810e0e746ad8b75ea9622f56e7 Reviewed-on: https://team-review.git.corp.google.com/c/372706 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2018-12-07[release-branch.go1.11-security] cmd/go/internal/get: use a strings.Replacer ↵Bryan C. Mills
in expand This should be a no-op, but produces deterministic (and more correct) behavior if we have accidentally failed to sanitize one of the inputs. Change-Id: I1271d0ffd01a691ec8c84906c4e02d9e2be19c72 Reviewed-on: https://team-review.git.corp.google.com/c/372705 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>