dwtest: add new pseudo-package with DWARF location tests

This patch rolls out a new set of regression tests for verifying the
integrity of DWARF variable location expressions. The tests use a
"scaffold" consisting of harness program 'dwdumploc' that can be run
on a Go binary to dump out the DWARF location expressions for a
function's formal parameters, and then a new set of tests that invoke
the harness on specific canned testcases. The scaffold itself depends
on packages from Delve.

DWARF location expressions can refer to machine registers, making the
output of the dump architecture-dependent. The dumper program
currently supports { Amd64, Arm64 } x { Linux, Macho, Windows }, which
matches up mostly with current Delve support.

Updates golang/go#47354.
Updates golang/go#46845.

Change-Id: I7377c03b19e3cf43aa0f7698fcc636be9c852765
Reviewed-on: https://go-review.googlesource.com/c/debug/+/364674
Trust: Than McIntosh <thanm@google.com>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Than McIntosh <thanm@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
6 files changed
tree: e393de8c63fec6a5c5b711e6fde85b17057ece5f
  1. cmd/
  2. dwtest/
  3. internal/
  4. AUTHORS
  5. codereview.cfg
  6. CONTRIBUTING.md
  7. CONTRIBUTORS
  8. go.mod
  9. go.sum
  10. LICENSE
  11. 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://golang.org/doc/contribute.html.

The main issue tracker for the debug repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/debug:” in the subject line, so it is easy to find.