• Michael Ellerman's avatar
    powerpc: Fix STACKTRACE=n build · 48015b63
    Michael Ellerman authored
    Our skiroot_defconfig doesn't enable FTRACE, and so doesn't get
    STACKTRACE enabled either. That leads to a build failure since commit
    1614b2b1 ("arch: Make ARCH_STACKWALK independent of STACKTRACE")
    made stacktrace.c build even when STACKTRACE=n.
    
      arch/powerpc/kernel/stacktrace.c: In function ‘handle_backtrace_ipi’:
      arch/powerpc/kernel/stacktrace.c:171:2: error: implicit declaration of function ‘nmi_cpu_backtrace’
        171 |  nmi_cpu_backtrace(regs);
            |  ^~~~~~~~~~~~~~~~~
      arch/powerpc/kernel/stacktrace.c: In function ‘arch_trigger_cpumask_backtrace’:
      arch/powerpc/kernel/stacktrace.c:226:2: error: implicit declaration of function ‘nmi_trigger_cpumask_backtrace’
        226 |  nmi_trigger_cpumask_backtrace(mask, exclude_self, raise_backtrace_ipi);
            |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This happens because our headers haven't defined
    arch_trigger_cpumask_backtrace, which causes lib/nmi_backtrace.c not to
    build nmi_cpu_backtrace().
    
    The code in question doesn't actually depend on STACKTRACE=y, that was
    just added because arch_trigger_cpumask_backtrace() lived in
    stacktrace.c for convenience. So drop the dependency on
    CONFIG_STACKTRACE, that causes lib/nmi_backtrace.c to build
    nmi_cpu_backtrace() etc. and fixes the build.
    
    Fixes: 1614b2b1 ("arch: Make ARCH_STACKWALK independent of STACKTRACE")
    [mpe: Cherry pick of 5a72345e from next into fixes]
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20220212111349.2806972-1-mpe@ellerman.id.au
    48015b63
nmi.h 543 Bytes