gocore: more fixes for Go 1.24

- The isCrashFrame flag during unwinding was never reset, which could
  be bad.
- We're apparently reading a lot of stale constants and not seeing it
  because a failed read from the constants map just returns the zero
  value. Oops! Add a much stricter map wrapper type for constants and
  fix up all the stale constants. This fixes a whole bunch of things,
  including totally incorrect readings of the liveness maps.
- More strict checking of liveness map data.

Change-Id: I2cb4901df4e3f473ef8b0c09981ba222e883b0b6
Reviewed-on: https://go-review.googlesource.com/c/debug/+/635835
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Nicolas Hillegeer <aktau@google.com>
Commit-Queue: Nicolas Hillegeer <aktau@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Nicolas Hillegeer <aktau@google.com>
4 files changed
tree: 3a8587aa54b4a81768ffe8460b37751dca39fd7e
  1. cmd/
  2. dwtest/
  3. internal/
  4. third_party/
  5. codereview.cfg
  6. CONTRIBUTING.md
  7. go.mod
  8. go.sum
  9. LICENSE
  10. README.md
README.md

Go Debug

Go Reference

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.

Report Issues / Send Patches

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.