• Mark Rutland's avatar
    arm64: ftrace: fix ifdeffery · 70927d02
    Mark Rutland authored
    When I tweaked the ftrace entry assembly in commit:
    
      3b23e499 ("arm64: implement ftrace with regs")
    
    ... my ifdeffery tweaks left ftrace_graph_caller undefined for
    CONFIG_DYNAMIC_FTRACE && CONFIG_FUNCTION_GRAPH_TRACER when ftrace is
    based on mcount.
    
    The kbuild test robot reported that this issue is detected at link time:
    
    | arch/arm64/kernel/entry-ftrace.o: In function `skip_ftrace_call':
    | arch/arm64/kernel/entry-ftrace.S:238: undefined reference to `ftrace_graph_caller'
    | arch/arm64/kernel/entry-ftrace.S:238:(.text+0x3c): relocation truncated to fit: R_AARCH64_CONDBR19 against undefined symbol
    | `ftrace_graph_caller'
    | arch/arm64/kernel/entry-ftrace.S:243: undefined reference to `ftrace_graph_caller'
    | arch/arm64/kernel/entry-ftrace.S:243:(.text+0x54): relocation truncated to fit: R_AARCH64_CONDBR19 against undefined symbol
    | `ftrace_graph_caller'
    
    This patch fixes the ifdeffery so that the mcount version of
    ftrace_graph_caller doesn't depend on CONFIG_DYNAMIC_FTRACE. At the same
    time, a redundant #else is removed from the ifdeffery for the
    patchable-function-entry version of ftrace_graph_caller.
    
    Fixes: 3b23e499 ("arm64: implement ftrace with regs")
    Reported-by: default avatarkbuild test robot <lkp@intel.com>
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Torsten Duwe <duwe@lst.de>
    Cc: Will Deacon <will@kernel.org>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    70927d02
entry-ftrace.S 9.32 KB