diff --git a/src/stacktrace_generic_fp-inl.h b/src/stacktrace_generic_fp-inl.h index 12f93bb..c0d458c 100644 --- a/src/stacktrace_generic_fp-inl.h +++ b/src/stacktrace_generic_fp-inl.h @@ -177,8 +177,12 @@ int capture(void **result, int max_depth, int skip_count, // older gcc's (circa gcc 6 or so) did something that looks right, // but not recent ones). constexpr uintptr_t kAlignment = 4; +#elif defined(__aarch64__) + // aarch64 ABI does not specify the frame pointer location, so we can only + // know it's 8 byte aligned (as the register size) + constexpr uintptr_t kAlignment = 8; #else - // This is simplistic yet. Here we're targeting x86, aarch64 and + // This is simplistic yet. Here we're targeting x86 and // riscv. They all have 16 bytes stack alignment (even 32 bit // riscv). This can be made more elaborate as we consider more // architectures.