tree: https://github.com/esmil/linux visionfive head: 52b86a8841b9ca3e12e1593f3dde8cff1112b7e8 commit: 7727f86d5ca29dd691360bfa45d5fa9a7247bedd [2/42] riscv: optimized memmove config: riscv-buildonly-randconfig-r001-20220925 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/7727f86d5ca29dd691360bfa45d5fa9a7247bedd git remote add esmil https://github.com/esmil/linux git fetch --no-tags esmil visionfive git checkout 7727f86d5ca29dd691360bfa45d5fa9a7247bedd # 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:25:31: error: redefinition of '__memcpy' 25 | #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:27:32: error: redefinition of '__memmove' 27 | #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) | ^~~~~~~~~ vim +/__memmove +27 arch/riscv/include/asm/string.h 7727f86d5ca29d Matteo Croce 2021-09-29 22 8ad8b72721d0f0 Nick Hu 2020-01-06 23 /* For those files which don't want to check by kasan. */ 8ad8b72721d0f0 Nick Hu 2020-01-06 24 #if defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__) 8ad8b72721d0f0 Nick Hu 2020-01-06 25 #define memcpy(dst, src, len) __memcpy(dst, src, len) 8ad8b72721d0f0 Nick Hu 2020-01-06 26 #define memset(s, c, n) __memset(s, c, n) 04091d6c0535f6 Nylon Chen 2020-11-30 @27 #define memmove(dst, src, len) __memmove(dst, src, len) 9530141455c968 Kefeng Wang 2021-02-25 28 :::::: The code at line 27 was first introduced by commit :::::: 04091d6c0535f6dc82af864ab56425235c6581a4 riscv: provide memmove implementation :::::: TO: Nylon Chen :::::: CC: Palmer Dabbelt -- 0-DAY CI Kernel Test Service https://01.org/lkp