Re: [RFC PATCH v1 06/16] unwind_user: Enable archs that define CFA = SP_callsite + offset
From: Josh Poimboeuf
Date: Wed Jul 16 2025 - 17:32:32 EST
On Thu, Jul 10, 2025 at 06:35:12PM +0200, Jens Remus wrote:
> Most architectures define their CFA as the value of the stack pointer
> (SP) at the call site in the previous frame, as suggested by the DWARF
> standard:
>
> CFA = <SP at call site>
>
> Enable unwinding of user space for architectures, such as s390, which
> define their CFA as the value of the SP at the call site in the previous
> frame with an offset:
>
> CFA = <SP at call site> + offset
This is a bit confusing, as the comment and code define it as
SP = CFA + offset
Should the commit log be updated to match that?
> +++ b/arch/x86/include/asm/unwind_user.h
> @@ -8,6 +8,7 @@
> .cfa_off = (s32)sizeof(long) * 2, \
> .ra_off = (s32)sizeof(long) * -1, \
> .fp_off = (s32)sizeof(long) * -2, \
> + .sp_val_off = (s32)0, \
IIUC, this is similar to ra_off and fp_off in that its an offset from
the CFA. Can we call it "sp_off"?
--
Josh