| commit | 3793491ddf6aae5faeba509ae6b69b6e612c48b3 | [log] [tgz] |
|---|---|---|
| author | Michael Anthony Knyszek <mknyszek@google.com> | Tue Dec 10 19:41:07 2024 +0000 |
| committer | Gopher Robot <gobot@golang.org> | Thu Dec 12 01:11:06 2024 -0800 |
| tree | 64b770770bf2caf56921973a65f5cc5263d43dff | |
| parent | 3c468bb2d1418915136f9e36f044ac6672914836 [diff] |
gocore: update for Go 1.24 This change drops support for old versions of Go and adds numerous updates to support Go 1.24. - Correct DWARF variable parsing via location lists and complete interpretation of DWARF expressions (with the help of a couple Delve packages). - Fixed handling of sigtrampgo and unwinding out of the signal handler. - Improved handling of frames that aren't in safe points by conservatively finding live pointers through DWARF types of live local variables. - Partial support for values live in registers (much more to do here, and composites are not supported). - Completely overhauled Process initialization to better track dependencies. - Clean up of "page table" data structure to be better encapsulated and more explicitly about the heap. - Fix for a field in a runtime.special moving from a uint16 to a uintptr. - Overhaul of gocore.Stats -> gocore.Statistic. - Update go.mod to go1.23 for iterators. - Update some dependencies. - Adds TestObject from go.dev/cl/634756 (thanks aktau@!). The main milestone this CL reaches is that the main.Large value in the core test is consistently found and correctly typed. There is still a lot left to do. - Anything interpreting map structure is completely wrong with the change to Swiss Tables. - Full support for roots that are in registers. (This matters, because otherwise values that are only in a register in the crash context are completely missed.) - Full support for values that are partially in registers (composites). - Tons of cleanup. - A better abstraction over arches (so much stuff is hard-coded for amd64). Change-Id: I9c671c15128b72ee118b3623aa403477b91f5ce6 Reviewed-on: https://go-review.googlesource.com/c/debug/+/635227 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Nicolas Hillegeer <aktau@google.com> Auto-Submit: Nicolas Hillegeer <aktau@google.com> Commit-Queue: Nicolas Hillegeer <aktau@google.com>
This repository holds utilities and libraries for debugging Go programs.
WARNING! Please expect breaking changes and unstable APIs. Most of them are currently are at an early, experimental stage.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/debug.
The main issue tracker for the debug repository is located at https://go.dev/issues. Prefix your issue with “x/debug:” in the subject line, so it is easy to find.