[fbl][canary] Print the observed value during a panic.

Print the observed value of the magic number when a fbl::Canary fails
an ASSERT predicate, instead of allowing the code to re-load the magic
number post-predicate failure for panic printing purposes.

In a perfect world, this should never (ever) matter.  That said, when
your Canary assert predicates are firing, the world is a long way from
being perfect, and it can actually be important that we report the
exact value used in the predicate evaluation in order to help
understand what might have went wrong.  See the attached bug for a
practical example.

Bug: 313083326
Change-Id: Ic70d393def2e97a79a63ba8b9af7f2b9436dbb4f
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1158041
Fuchsia-Auto-Submit: John Grossman <johngro@google.com>
Reviewed-by: Roland McGrath <mcgrathr@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: 77fa5b833e8607e2e84419a48ec19263d5fc296c
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. analysis_options.yaml
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. CONTRIBUTING.md
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyproject.toml
  33. pyrightconfig.json
  34. README.md
  35. rustfmt.toml
  36. shac.star
  37. shac.textproto
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.