diff --git a/bee/crash/unwind_linux.cpp b/bee/crash/unwind_linux.cpp index 5f4b8b6a..a7a08cc0 100644 --- a/bee/crash/unwind_linux.cpp +++ b/bee/crash/unwind_linux.cpp @@ -6,7 +6,12 @@ namespace bee::crash { void unwind(ucontext_t *ctx, uint16_t skip, unwind_callback func, void *ud) noexcept { unw_cursor_t cursor; +#if defined(__aarch64__) + unw_context_t *unw_ctx = (unw_context_t *)ctx; + unw_init_local(&cursor, unw_ctx); +#else unw_init_local(&cursor, ctx); +#endif while (unw_step(&cursor) > 0) { unw_word_t pc; unw_get_reg(&cursor, UNW_REG_IP, &pc);