-
Notifications
You must be signed in to change notification settings - Fork 19k
Comparing changes
Open a pull request
base repository: golang/go
base: go1.18.4
head repository: golang/go
compare: go1.18.5
- 10 commits
- 20 files changed
- 6 contributors
Commits on Jul 22, 2022
-
[release-branch.go1.18] runtime: use saved LR when unwinding through …
…morestack On LR machine, consider F calling G calling H, which grows stack. The stack looks like ... G's frame: ... locals ... saved LR = return PC in F <- SP points here at morestack H's frame (to be created) At morestack, we save gp.sched.pc = H's morestack call gp.sched.sp = H's entry SP (the arrow above) gp.sched.lr = return PC in G Currently, when unwinding through morestack (if _TraceJumpStack is set), we switch PC and SP but not LR. We then have frame.pc = H's morestack call frame.sp = H's entry SP (the arrow above) As LR is not set, we load it from stack at *sp, so frame.lr = return PC in F As the SP hasn't decremented at the morestack call, frame.fp = frame.sp = H's entry SP Unwinding a frame, we have frame.pc = old frame.lr = return PC in F frame.sp = old frame.fp = H's entry SP a.k.a. G's SP The PC and SP don't match. The unwinding will go off if F and G have different frame sizes. Fix this by preserving the LR when switching stack. Also add code to detect infinite loop in unwinding. TODO: add some test. I can reproduce the infinite loop (or throw with added check) but the frequency is low. Fixes #53112. Updates #52116. Change-Id: I6e1294f1c6e55f664c962767a1cf6c466a0c0eff Reviewed-on: https://go-review.googlesource.com/c/go/+/400575 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Eric Fang <eric.fang@arm.com> Reviewed-by: Benny Siegert <bsiegert@gmail.com> (cherry picked from commit 74f0009) Reviewed-on: https://go-review.googlesource.com/c/go/+/408821 Reviewed-by: Austin Clements <austin@google.com>
Configuration menu - View commit details
-
Copy full SHA for 12e00f6 - Browse repository at this point
Copy the full SHA 12e00f6View commit details
Commits on Jul 25, 2022
-
[release-branch.go1.18] runtime: clear timerModifiedEarliest when las…
…t timer is deleted timerModifiedEarliest contains the lowest possible expiration for a modified earlier timer, which may be earlier than timer0When because we haven't yet updated the heap. Note "may", as the modified earlier timer that set timerModifiedEarliest may have since been modified later or deleted. We can clear timerModifiedEarliest when the last timer is deleted because by definition there must not be any modified earlier timers. Why does this matter? checkTimersNoP claims that there is work to do if timerModifiedEarliest has passed, causing findRunnable to loop back around to checkTimers. But the code to clean up timerModifiedEarliest in checkTimers (i.e., the call to adjusttimers) is conditional behind a check that len(pp.timers) > 0. Without clearing timerModifiedEarliest, a spinning M that would otherwise go to sleep will busy loop in findRunnable until some other work is available. Note that changing the condition on the call to adjusttimers would also be a valid fix. I took this approach because it feels a bit cleaner to clean up timerModifiedEarliest as soon as it is known to be irrelevant. For #51654. Fixes #53847. Change-Id: I3f3787c67781cac7ce87939c5706cef8db927dd5 Reviewed-on: https://go-review.googlesource.com/c/go/+/417434 Auto-Submit: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Michael Pratt <mpratt@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> (cherry picked from commit c006b7a) Reviewed-on: https://go-review.googlesource.com/c/go/+/417475
Configuration menu - View commit details
-
Copy full SHA for 4782f42 - Browse repository at this point
Copy the full SHA 4782f42View commit details -
[release-branch.go1.18] cmd/go: omit build metadata that may contain …
…system paths when -trimpath is set CGO flag variables often include system paths for header files and compiled libraries. The point of -trimpath is to avoid dependending on system paths, so stamping these variables is counterproductive. Moreover, the point of stamping build information is to improve reproducibility. Since we don't also stamp the versions of C compilers, headers, and libraries used in a cgo build, only the most trivial cgo programs can be faithfully reproduced from the stamped information. Likewise, the -ldflags flag may include system-specific paths, particularly if external linking is in use. For now, we omit -ldflags entirely; however, in the future we may instead want to parse and redact the individual flags. Updates #52372. Fixes #53119. Change-Id: I73318a01cce4371d66955b3261fc7ee58d4b33dd Reviewed-on: https://go-review.googlesource.com/c/go/+/409174 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> (cherry picked from commit a6e5be0) Reviewed-on: https://go-review.googlesource.com/c/go/+/414794 Reviewed-by: Nooras Saba <saba@golang.org>
Configuration menu - View commit details
-
Copy full SHA for d252fdd - Browse repository at this point
Copy the full SHA d252fddView commit details -
[release-branch.go1.18] testing: include ERROR_SHARING_VIOLATION in W…
…indows cleanup retries Fixes #52986 Updates #51442 Updates #50051 Change-Id: I1bfbc08c907077467fd50febbec6299a9b73af41 Reviewed-on: https://go-review.googlesource.com/c/go/+/388916 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> (cherry picked from commit eeb9f09) Reviewed-on: https://go-review.googlesource.com/c/go/+/407877 Reviewed-by: Nooras Saba <saba@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com>
Configuration menu - View commit details
-
Copy full SHA for d06c911 - Browse repository at this point
Copy the full SHA d06c911View commit details
Commits on Jul 26, 2022
-
[release-branch.go1.18] cmd/compile: do not use special literal assig…
…nment if LHS is address-taken A composite literal assignment x = T{field: v} may be compiled to x = T{} x.field = v We already do not use this form is RHS uses LHS. If LHS is address-taken, RHS may uses LHS implicitly, e.g. v = &x.field x = T{field: *v} The lowering above would change the value of RHS (*v). Updates #52953. Fixes #52961. Change-Id: I3f798e00598aaa550b8c17182c7472fef440d483 Reviewed-on: https://go-review.googlesource.com/c/go/+/407014 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> (cherry picked from commit 1c77137) Reviewed-on: https://go-review.googlesource.com/c/go/+/419450 Reviewed-by: Matthew Dempsky <mdempsky@google.com>Configuration menu - View commit details
-
Copy full SHA for ed50277 - Browse repository at this point
Copy the full SHA ed50277View commit details
Commits on Jul 27, 2022
-
[release-branch.go1.18] cmd/compile: revert "backport fix for #51840"
This reverts CL 405436 (commit e1b14f5). Fixes #53883. Updates #51840. Change-Id: Ide5a9568a7ae5b449ef154c29b69699a7e4b3f6b Reviewed-on: https://go-review.googlesource.com/c/go/+/417616 Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Jenny Rakoczy <jenny@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 76ba1a5 - Browse repository at this point
Copy the full SHA 76ba1a5View commit details -
[release-branch.go1.18] cmd/compile: revert "fix missing dict pass fo…
…r type assertions" This reverts CL 411934 (commit 460a93b). Fixes #53852. Updates #53357. Change-Id: I93d7015d8962d22ffd73128b038e4e7e7ca41c2f Reviewed-on: https://go-review.googlesource.com/c/go/+/417615 Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Configuration menu - View commit details
-
Copy full SHA for 6ff8801 - Browse repository at this point
Copy the full SHA 6ff8801View commit details -
[release-branch.go1.18] cmd/go: avoid re-enqueuing workspace dependen…
…cies with errors Fixes #53875. Updates #53874. Change-Id: I41ab15cb9b86b807a9d9ad21fe21fb7aa5fbb46f Reviewed-on: https://go-review.googlesource.com/c/go/+/417594 Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> (cherry picked from commit a906d3d) Reviewed-on: https://go-review.googlesource.com/c/go/+/417656
Configuration menu - View commit details
-
Copy full SHA for be7c681 - Browse repository at this point
Copy the full SHA be7c681View commit details
Commits on Jul 29, 2022
-
[release-branch.go1.18] math/big: check buffer lengths in GobDecode
In Float.GobDecode and Rat.GobDecode, check buffer sizes before indexing slices. Updates #53871 Fixes #54095 Change-Id: I1b652c32c2bc7a0e8aa7620f7be9b2740c568b0a Reviewed-on: https://go-review.googlesource.com/c/go/+/417774 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Tatiana Bradley <tatiana@golang.org> Run-TryBot: Roland Shoemaker <roland@golang.org> (cherry picked from commit 055113e) Reviewed-on: https://go-review.googlesource.com/c/go/+/419815 Reviewed-by: Julie Qiu <julieqiu@google.com>
Configuration menu - View commit details
-
Copy full SHA for 9240558 - Browse repository at this point
Copy the full SHA 9240558View commit details
Commits on Aug 1, 2022
-
[release-branch.go1.18] go1.18.5
Change-Id: I4ca2e873fa21fb4676bc1d0e382bd8fd407a2986 Reviewed-on: https://go-review.googlesource.com/c/go/+/420555 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> Run-TryBot: Gopher Robot <gobot@golang.org> Auto-Submit: Gopher Robot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
Configuration menu - View commit details
-
Copy full SHA for be59153 - Browse repository at this point
Copy the full SHA be59153View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff go1.18.4...go1.18.5