Re: [PATCH] arc: remove #ifndef CONFIG_AS_CFI_SIGNAL_FRAME

From: Vineet Gupta
Date: Mon Apr 13 2020 - 01:38:38 EST


On 4/12/20 7:05 PM, Masahiro Yamada wrote:
> CONFIG_AS_CFI_SIGNAL_FRAME is never defined for ARC.
>
> Suggested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

Where, how ?

> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> ---
>
> arch/arc/kernel/unwind.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c
> index 27ea64b1fa33..f87758a6851b 100644
> --- a/arch/arc/kernel/unwind.c
> +++ b/arch/arc/kernel/unwind.c
> @@ -1178,11 +1178,9 @@ int arc_unwind(struct unwind_frame_info *frame)
> #endif
>
> /* update frame */
> -#ifndef CONFIG_AS_CFI_SIGNAL_FRAME
> if (frame->call_frame
> && !UNW_DEFAULT_RA(state.regs[retAddrReg], state.dataAlign))
> frame->call_frame = 0;
> -#endif
> cfa = FRAME_REG(state.cfa.reg, unsigned long) + state.cfa.offs;
> startLoc = min_t(unsigned long, UNW_SP(frame), cfa);
> endLoc = max_t(unsigned long, UNW_SP(frame), cfa);

Actually there's more scope for cleanup here. The while signal frame stuff is not
relevant here at all as this is only kernel stack frames. So all of
frame->call_frame stuff is bogus at best.

I once had an branch with ~15 patches to clean this all up. Let me go find it.

Curious though about the CC list, is this patch part of a bigger series or some
such. So many people from all over suddenly interested in ARC ;-)

-Vineet