[PATCH v2] PowerPC: Initial SFrame support for 64-bit PowerPC ELF ABI
Indu Bhagat
ibhagatgnu@gmail.com
Wed Aug 12 20:17:20 GMT 2026
On 2026-04-29 05:55, Abhay Kandpal wrote:
> Hi Indu,
>
> Thanks for the review and for raising the question about motivation.
>
> Regarding testing: yes, perf report based testing was done on both
> ppc64le and ppc64 (BE). On BE, missing frames were observed under perf
> profiling, consistent with what was seen on LE.
>
> For the summary of why SFrame is necessary for PowerPC64, two root
> problems were identified:
>
> 1. Stale Link Register (LR) at NMI boundary
> When a perf NMI fires, the kernel records the current LR value. If
> the interrupted function has already called a sub-function, LR holds the
> sub-function's return address — a stale value.
> Currently, arch_skip_callchain_idx() in userspace perf
> reads .eh_frame to detect and prune this stale entry,
> but this is a fragile heuristic - SFrame in the kernel would allow
> the unwinder to resolve this directly without relying on userspace post-
> processing.
>
> 2. Epilogue-race / missing caller
> PPC64 epilogues restore SP with "addi r1,r1,<framesize>" before the
> "blr" instruction.
> If an NMI fires in this window, SP already points to the caller's
> frame, so the backchain walk skips the interrupted function's direct
> caller.
> This was reproduced on both ppc64le and ppc64 BE. No userspace
> heuristic can recover this lost frame — it requires kernel-side
> unwinding with reliable frame data, which SFrame enables.
>
> As a supplementary finding: we also tested the signal handler context.
> The kernel's perf_callchain_user_64() handles signal frames correctly.
> However, arch_skip_callchain_idx() was observed incorrectly pruning a
> valid LR entry at signal frame boundaries, causing the signal handler to
> go missing from call chains.
> Although it can be fix seperately but this is another instance
> of .eh_frame-based heuristics breaking down, they do not model signal
> frame semantics and produce false positives at these boundaries.
>
> Looking forward to your second-look review.
>
> Thanks,
> Abhay
>
Hi Abhay,
Since its been a while since you posted V2 (and I did not get time to
get back to your patch), Is PowerPC/SFrame support still of interest ?
Thanks
Indu
More information about the Binutils
mailing list