[libunwind] Support DW_CFA_remember/restore_state without heap allocation.

This patch just reorganises the code to make possible to use alloca
instead of malloc. This makes possible to use `.cfi_remember_state`/`.cfi_restore_state` on
platforms without heap allocation.
Also it will be safe to backtrace/unwind faults related to the allocator behind malloc.
`_LIBUNWIND_REMEMBER_HEAP_ALLOC ` option reenables the heap usage for `.cfi_remember_state`/`.cfi_restore_state`.
Define _LIBUNWIND_REMEMBER_STACK_ALLOC to force stack allocation.

Reviewed By: #libunwind, mstorsjo

Differential Revision: https://reviews.llvm.org/D85005

GitOrigin-RevId: 1d7786d45f48b4793baf4e4b903c4476f56ffc94
2 files changed
tree: 325014a63a7a733b4db597d5a4de8e2c4ca2cf72
  1. .clang-format
  2. CMakeLists.txt
  4. cmake/
  5. docs/
  6. include/
  7. src/
  8. test/