[mark:arm64/ftrace/per-callsite-ops 1/11] include/linux/ftrace.h:445:20: error: redefinition of 'arch_ftrace_set_direct_caller'
From: kernel test robot
Date: Tue Oct 25 2022 - 03:19:11 EST
Hi Mark,
FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git arm64/ftrace/per-callsite-ops
head: f73350f69ff3e7a2061b0021644bc9846664a3d3
commit: 6262590b79bc8a27439257aebbfc3d1ce45791dd [1/11] ftrace: pass fregs to arch_ftrace_set_direct_caller()
config: x86_64-randconfig-a003-20221024 (attached as .config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/commit/?id=6262590b79bc8a27439257aebbfc3d1ce45791dd
git remote add mark https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git
git fetch --no-tags mark arm64/ftrace/per-callsite-ops
git checkout 6262590b79bc8a27439257aebbfc3d1ce45791dd
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 prepare
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
In file included from arch/x86/kernel/asm-offsets.c:22:
In file included from arch/x86/kernel/../kvm/vmx/vmx.h:5:
In file included from include/linux/kvm_host.h:32:
>> include/linux/ftrace.h:445:20: error: redefinition of 'arch_ftrace_set_direct_caller'
static inline void arch_ftrace_set_direct_caller(struct ftrace_regs *fregs,
^
arch/x86/include/asm/ftrace.h:69:20: note: previous definition is here
static inline void arch_ftrace_set_direct_caller(struct ftrace_regs *fregs, unsigned long addr)
^
1 error generated.
make[2]: *** [scripts/Makefile.build:118: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target 'prepare' not remade because of errors.
make[1]: *** [Makefile:1270: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:231: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/arch_ftrace_set_direct_caller +445 include/linux/ftrace.h
431
432 /*
433 * This must be implemented by the architecture.
434 * It is the way the ftrace direct_ops helper, when called
435 * via ftrace (because there's other callbacks besides the
436 * direct call), can inform the architecture's trampoline that this
437 * routine has a direct caller, and what the caller is.
438 *
439 * For example, in x86, it returns the direct caller
440 * callback function via the regs->orig_ax parameter.
441 * Then in the ftrace trampoline, if this is set, it makes
442 * the return from the trampoline jump to the direct caller
443 * instead of going back to the function it just traced.
444 */
> 445 static inline void arch_ftrace_set_direct_caller(struct ftrace_regs *fregs,
446 unsigned long addr) { }
447 #endif /* CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS */
448
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Attachment:
.config.gz
Description: application/gzip