tree: https://github.com/esmil/linux visionfive head: cfcb617265422c0af0ae5bc9688dceba2d10b27a commit: b7d684a8108f00000d5e78ee42baedac2411e79e [3/42] riscv: optimized memset config: riscv-allmodconfig compiler: riscv64-linux-gcc (GCC) 12.1.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/esmil/linux/commit/b7d684a8108f00000d5e78ee42baedac2411e79e git remote add esmil https://github.com/esmil/linux git fetch --no-tags esmil visionfive git checkout b7d684a8108f00000d5e78ee42baedac2411e79e # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from include/linux/string.h:20, from include/linux/bitmap.h:11, from include/linux/cpumask.h:12, from include/linux/mm_types_task.h:14, from include/linux/mm_types.h:5, from include/linux/buildid.h:5, from include/linux/module.h:14, from arch/riscv/lib/string.c:11: arch/riscv/include/asm/string.h:21:31: error: redefinition of '__memcpy' 21 | #define memcpy(dst, src, len) __memcpy(dst, src, len) | ^~~~~~~~ arch/riscv/lib/string.c:90:7: note: in expansion of macro 'memcpy' 90 | void *memcpy(void *dest, const void *src, size_t count) __weak __alias(__memcpy); | ^~~~~~ arch/riscv/lib/string.c:31:7: note: previous definition of '__memcpy' with type 'void *(void *, const void *, size_t)' {aka 'void *(void *, const void *, long unsigned int)'} 31 | void *__memcpy(void *dest, const void *src, size_t count) | ^~~~~~~~ arch/riscv/include/asm/string.h:23:32: error: redefinition of '__memmove' 23 | #define memmove(dst, src, len) __memmove(dst, src, len) | ^~~~~~~~~ arch/riscv/lib/string.c:113:7: note: in expansion of macro 'memmove' 113 | void *memmove(void *dest, const void *src, size_t count) __weak __alias(__memmove); | ^~~~~~~ arch/riscv/lib/string.c:97:7: note: previous definition of '__memmove' with type 'void *(void *, const void *, size_t)' {aka 'void *(void *, const void *, long unsigned int)'} 97 | void *__memmove(void *dest, const void *src, size_t count) | ^~~~~~~~~ >> arch/riscv/include/asm/string.h:22:25: error: redefinition of '__memset' 22 | #define memset(s, c, n) __memset(s, c, n) | ^~~~~~~~ arch/riscv/lib/string.c:154:7: note: in expansion of macro 'memset' 154 | void *memset(void *s, int c, size_t count) __weak __alias(__memset); | ^~~~~~ arch/riscv/lib/string.c:116:7: note: previous definition of '__memset' with type 'void *(void *, int, size_t)' {aka 'void *(void *, int, long unsigned int)'} 116 | void *__memset(void *s, int c, size_t count) | ^~~~~~~~ vim +/__memset +22 arch/riscv/include/asm/string.h 4f56e69d6add82 Matteo Croce 2021-09-29 18 8ad8b72721d0f0 Nick Hu 2020-01-06 19 /* For those files which don't want to check by kasan. */ 8ad8b72721d0f0 Nick Hu 2020-01-06 20 #if defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__) 8ad8b72721d0f0 Nick Hu 2020-01-06 21 #define memcpy(dst, src, len) __memcpy(dst, src, len) 8ad8b72721d0f0 Nick Hu 2020-01-06 @22 #define memset(s, c, n) __memset(s, c, n) 04091d6c0535f6 Nylon Chen 2020-11-30 23 #define memmove(dst, src, len) __memmove(dst, src, len) 9530141455c968 Kefeng Wang 2021-02-25 24 :::::: The code at line 22 was first introduced by commit :::::: 8ad8b72721d0f07fa02dbe71f901743f9c71c8e6 riscv: Add KASAN support :::::: TO: Nick Hu :::::: CC: Palmer Dabbelt -- 0-DAY CI Kernel Test Service https://01.org/lkp