Hi Dmitry, Thank you for the patch! Yet something to improve: [auto build test ERROR on c34f157421f6905e6b4a79a312e9175dce2bc607] url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 base: c34f157421f6905e6b4a79a312e9175dce2bc607 config: riscv-allmodconfig (attached as .config) compiler: riscv64-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 # https://github.com/0day-ci/linux/commit/c46ac7ddea192a97f9b0b3aa3536566a37389bec git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 git checkout c46ac7ddea192a97f9b0b3aa3536566a37389bec # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/irqchip.h:15, from arch/riscv/kernel/irq.c:9: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/irq.c:19:13: warning: no previous prototype for 'init_IRQ' [-Wmissing-prototypes] 19 | void __init init_IRQ(void) | ^~~~~~~~ -- In file included from include/linux/elf.h:6, from arch/riscv/kernel/ptrace.c:15: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/ptrace.c:140:15: warning: no previous prototype for 'do_syscall_trace_enter' [-Wmissing-prototypes] 140 | __visible int do_syscall_trace_enter(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/ptrace.c:163:16: warning: no previous prototype for 'do_syscall_trace_exit' [-Wmissing-prototypes] 163 | __visible void do_syscall_trace_exit(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from include/linux/ftrace.h:11, from include/linux/perf_event.h:49, from include/linux/trace_events.h:10, from include/trace/syscall.h:7, from include/linux/syscalls.h:84, from arch/riscv/kernel/signal.c:11: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/signal.c:309:27: warning: no previous prototype for 'do_notify_resume' [-Wmissing-prototypes] 309 | asmlinkage __visible void do_notify_resume(struct pt_regs *regs, | ^~~~~~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from include/linux/ftrace.h:11, from include/linux/perf_event.h:49, from include/linux/trace_events.h:10, from include/trace/syscall.h:7, from include/linux/syscalls.h:84, from arch/riscv/kernel/syscall_table.c:8: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:34:1: note: in expansion of macro '__SC_COMP' 34 | __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[0]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:34:1: note: in expansion of macro '__SC_COMP' 34 | __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:36:1: note: in expansion of macro '__SYSCALL' 36 | __SYSCALL(__NR_io_destroy, sys_io_destroy) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[1]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:36:1: note: in expansion of macro '__SYSCALL' 36 | __SYSCALL(__NR_io_destroy, sys_io_destroy) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:38:1: note: in expansion of macro '__SC_COMP' 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[2]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:38:1: note: in expansion of macro '__SC_COMP' 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:40:1: note: in expansion of macro '__SYSCALL' 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[3]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:40:1: note: in expansion of macro '__SYSCALL' 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:22:34: note: in expansion of macro '__SYSCALL' 22 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:43:1: note: in expansion of macro '__SC_3264' 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[4]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:22:34: note: in expansion of macro '__SYSCALL' 22 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:43:1: note: in expansion of macro '__SC_3264' 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:48:1: note: in expansion of macro '__SYSCALL' 48 | __SYSCALL(__NR_setxattr, sys_setxattr) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[5]') 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:48:1: note: in expansion of macro '__SYSCALL' 48 | __SYSCALL(__NR_setxattr, sys_setxattr) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: warning: initialized field overwritten [-Woverride-init] 14 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:50:1: note: in expansion of macro '__SYSCALL' 50 | __SYSCALL(__NR_lsetxattr, sys_lsetxattr) | ^~~~~~~~~ arch/riscv/kernel/syscall_table.c:14:36: note: (near initialization for 'sys_call_table[6]') 14 | #define __SYSCALL(nr, call) [nr] = (call), -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from include/linux/ftrace.h:11, from include/linux/perf_event.h:49, from include/linux/trace_events.h:10, from include/trace/syscall.h:7, from include/linux/syscalls.h:84, from arch/riscv/kernel/sys_riscv.c:8: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from arch/riscv/kernel/traps.c:16: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/traps.c:92:15: warning: no previous prototype for 'do_trap_unknown' [-Wmissing-prototypes] 92 | DO_ERROR_INFO(do_trap_unknown, | ^~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:94:15: warning: no previous prototype for 'do_trap_insn_misaligned' [-Wmissing-prototypes] 94 | DO_ERROR_INFO(do_trap_insn_misaligned, | ^~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:96:15: warning: no previous prototype for 'do_trap_insn_fault' [-Wmissing-prototypes] 96 | DO_ERROR_INFO(do_trap_insn_fault, | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:98:15: warning: no previous prototype for 'do_trap_insn_illegal' [-Wmissing-prototypes] 98 | DO_ERROR_INFO(do_trap_insn_illegal, | ^~~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:100:15: warning: no previous prototype for 'do_trap_load_fault' [-Wmissing-prototypes] 100 | DO_ERROR_INFO(do_trap_load_fault, | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:103:15: warning: no previous prototype for 'do_trap_load_misaligned' [-Wmissing-prototypes] 103 | DO_ERROR_INFO(do_trap_load_misaligned, | ^~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:105:15: warning: no previous prototype for 'do_trap_store_misaligned' [-Wmissing-prototypes] 105 | DO_ERROR_INFO(do_trap_store_misaligned, | ^~~~~~~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:127:15: warning: no previous prototype for 'do_trap_store_fault' [-Wmissing-prototypes] 127 | DO_ERROR_INFO(do_trap_store_fault, | ^~~~~~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:129:15: warning: no previous prototype for 'do_trap_ecall_u' [-Wmissing-prototypes] 129 | DO_ERROR_INFO(do_trap_ecall_u, | ^~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:131:15: warning: no previous prototype for 'do_trap_ecall_s' [-Wmissing-prototypes] 131 | DO_ERROR_INFO(do_trap_ecall_s, | ^~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:133:15: warning: no previous prototype for 'do_trap_ecall_m' [-Wmissing-prototypes] 133 | DO_ERROR_INFO(do_trap_ecall_m, | ^~~~~~~~~~~~~~~ arch/riscv/kernel/traps.c:87:27: note: in definition of macro 'DO_ERROR_INFO' 87 | asmlinkage __visible void name(struct pt_regs *regs) \ | ^~~~ arch/riscv/kernel/traps.c:146:27: warning: no previous prototype for 'do_trap_break' [-Wmissing-prototypes] 146 | asmlinkage __visible void do_trap_break(struct pt_regs *regs) | ^~~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from arch/riscv/kernel/stacktrace.c:8: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/stacktrace.c:24:14: warning: no previous prototype for 'walk_stackframe' [-Wmissing-prototypes] 24 | void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs, | ^~~~~~~~~~~~~~~ arch/riscv/kernel/stacktrace.c: In function 'walk_stackframe': arch/riscv/kernel/stacktrace.c:34:3: warning: 'register' is not at beginning of declaration [-Wold-style-declaration] 34 | const register unsigned long current_sp = sp_in_global; | ^~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from include/linux/ftrace.h:11, from arch/riscv/kernel/ftrace.c:8: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/ftrace.c:158:6: warning: no previous prototype for 'prepare_ftrace_return' [-Wmissing-prototypes] 158 | void prepare_ftrace_return(unsigned long *parent, unsigned long self_addr, | ^~~~~~~~~~~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/kallsyms.h:13, from include/linux/ftrace.h:11, from include/linux/perf_event.h:49, from arch/riscv/kernel/perf_callchain.c:4: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | arch/riscv/kernel/perf_callchain.c:77:6: warning: no previous prototype for 'fill_callchain' [-Wmissing-prototypes] 77 | bool fill_callchain(unsigned long pc, void *entry) | ^~~~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/bpf.h:20, from include/linux/bpf-cgroup.h:5, from include/linux/cgroup-defs.h:22, from include/linux/cgroup.h:28, from include/linux/blk-cgroup.h:17, from include/linux/writeback.h:14, from include/linux/backing-dev.h:17, from fs/btrfs/ctree.h:16, from fs/btrfs/ctree.c:10: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | fs/btrfs/ctree.c: In function 'btrfs_realloc_node': fs/btrfs/ctree.c:1581:6: warning: variable 'parent_level' set but not used [-Wunused-but-set-variable] 1581 | int parent_level; | ^~~~~~~~~~~~ -- In file included from include/linux/elf.h:6, from include/linux/module.h:18, from include/linux/bpf.h:20, from include/linux/bpf-cgroup.h:5, from include/linux/cgroup-defs.h:22, from include/linux/cgroup.h:28, from include/linux/blk-cgroup.h:17, from include/linux/writeback.h:14, from include/linux/backing-dev.h:17, from fs/btrfs/ctree.h:16, from fs/btrfs/zstd.c:22: >> arch/riscv/include/asm/elf.h:8: error: unterminated #ifndef 8 | #ifndef _ASM_RISCV_ELF_H | In file included from fs/btrfs/zstd.c:19: include/linux/zstd.h:798:21: warning: 'ZSTD_skippableHeaderSize' defined but not used [-Wunused-const-variable=] 798 | static const size_t ZSTD_skippableHeaderSize = 8; | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/zstd.h:796:21: warning: 'ZSTD_frameHeaderSize_max' defined but not used [-Wunused-const-variable=] 796 | static const size_t ZSTD_frameHeaderSize_max = ZSTD_FRAMEHEADERSIZE_MAX; | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/zstd.h:795:21: warning: 'ZSTD_frameHeaderSize_min' defined but not used [-Wunused-const-variable=] 795 | static const size_t ZSTD_frameHeaderSize_min = ZSTD_FRAMEHEADERSIZE_MIN; | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/zstd.h:794:21: warning: 'ZSTD_frameHeaderSize_prefix' defined but not used [-Wunused-const-variable=] 794 | static const size_t ZSTD_frameHeaderSize_prefix = 5; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +8 arch/riscv/include/asm/elf.h 2129a235c098960 Palmer Dabbelt 2017-07-10 @8 #ifndef _ASM_RISCV_ELF_H 2129a235c098960 Palmer Dabbelt 2017-07-10 9 #define _ASM_RISCV_ELF_H 2129a235c098960 Palmer Dabbelt 2017-07-10 10 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org