[debugger] Add DWARF typed stack entry

Add support for typed stack entries in the DWARF expression evaluator.
This allows DWARF expressions to explicitly do signed, unsigned, or
floating-point math.

This does not actually implement the new DW_OP_*_type or the casts that
can actually generate typed stack entries. That will be done in a
followup (it requires more plumbing that will be easier to implement and
review separately).

Instead, the new typed entries are tested by explicitly pushing stack
entries and then running operators over them.

Bug: 79529

Change-Id: I5dac0f87f2ea0550a8284870e204764d821666f2
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/693432
Reviewed-by: Dangyi Liu <dangyi@google.com>
Commit-Queue: Brett Wilson <brettw@google.com>
20 files changed
tree: 83c5828c65934d533f975a31dc532fde7464a070
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.