Hi Steven, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linux/master] [also build test WARNING on tip/perf/core linus/master v5.8-rc1 next-20200618] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Steven-Rostedt/tracing-Use-linker-magic-instead-of-recasting-ftrace_ops_list_func/20200618-045733 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a5dc8300df75e8b8384b4c82225f1e4a0b4d9b55 config: parisc-randconfig-r011-20200618 (attached as .config) compiler: hppa-linux-gcc (GCC) 9.3.0 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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>, old ones prefixed by <<): kernel/trace/ftrace.c:300:5: warning: no previous prototype for '__register_ftrace_function' [-Wmissing-prototypes] 300 | int __register_ftrace_function(struct ftrace_ops *ops) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:343:5: warning: no previous prototype for '__unregister_ftrace_function' [-Wmissing-prototypes] 343 | int __unregister_ftrace_function(struct ftrace_ops *ops) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:582:5: warning: no previous prototype for 'ftrace_profile_pages_init' [-Wmissing-prototypes] 582 | int ftrace_profile_pages_init(struct ftrace_profile_stat *stat) | ^~~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c:3796:15: warning: no previous prototype for 'arch_ftrace_match_adjust' [-Wmissing-prototypes] 3796 | char * __weak arch_ftrace_match_adjust(char *str, const char *search) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/trace/ftrace.c: In function 'process_mod_list': kernel/trace/ftrace.c:4107:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] 4107 | int ret; | ^~~ kernel/trace/ftrace.c: In function 'ftrace_regex_release': kernel/trace/ftrace.c:5512:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] 5512 | int ret; | ^~~ kernel/trace/ftrace.c: At top level: >> kernel/trace/ftrace.c:6854:6: warning: no previous prototype for 'arch_ftrace_ops_list_func' [-Wmissing-prototypes] 6854 | void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, | ^~~~~~~~~~~~~~~~~~~~~~~~~ vim +/arch_ftrace_ops_list_func +6854 kernel/trace/ftrace.c 6836 6837 /* 6838 * Some archs only support passing ip and parent_ip. Even though 6839 * the list function ignores the op parameter, we do not want any 6840 * C side effects, where a function is called without the caller 6841 * sending a third parameter. 6842 * Archs are to support both the regs and ftrace_ops at the same time. 6843 * If they support ftrace_ops, it is assumed they support regs. 6844 * If call backs want to use regs, they must either check for regs 6845 * being NULL, or CONFIG_DYNAMIC_FTRACE_WITH_REGS. 6846 * Note, CONFIG_DYNAMIC_FTRACE_WITH_REGS expects a full regs to be saved. 6847 * An architecture can pass partial regs with ftrace_ops and still 6848 * set the ARCH_SUPPORTS_FTRACE_OPS. 6849 * 6850 * In vmlinux.lds.h, ftrace_ops_list_func() is defined to be 6851 * arch_ftrace_ops_list_func. 6852 */ 6853 #if ARCH_SUPPORTS_FTRACE_OPS > 6854 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip, 6855 struct ftrace_ops *op, struct pt_regs *regs) 6856 { 6857 __ftrace_ops_list_func(ip, parent_ip, NULL, regs); 6858 } 6859 #else 6860 void arch_ftrace_ops_list_func(unsigned long ip, unsigned long parent_ip) 6861 { 6862 __ftrace_ops_list_func(ip, parent_ip, NULL, NULL); 6863 } 6864 #endif 6865 NOKPROBE_SYMBOL(arch_ftrace_ops_list_func); 6866 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip