[libc] Handle frame pointers being disabled in debug configurations

`zx_assert_level` controls `enable_frame_pointers` in the zircon build,
which affects the availability of frame pointers in libc. Normally, this
is always set the same way as `is_debug`, but the
bringup.riscv64-debug-no_kernel_debug bot specifically sets
`zx_assert_level = 0`.

This patch adds the missing handling for this case when setting
`incomplete_fp`, additionally updates the checks for thread APIs to
compensate for the potentially missing frames when using FP. The
invariant that for the frames of the test they should match exactly is
still maintained.

Bug: 366223120
Change-Id: Ib75d90f72b15ac3a9b7e40b29a4bcd78313af4b4
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1126531
Reviewed-by: Roland McGrath <mcgrathr@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Fuchsia-Auto-Submit: Paul Kirth <paulkirth@google.com>
2 files changed
tree: 7870c9d81274073573fabdc5558ce812386f5964
  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.