On Mon, 27 Sept 2021 at 12:49, Matteo Croce <mcroce@xxxxxxxxxxxxxxxxxxx> wrote: > > On Mon, Sep 20, 2021 at 12:06 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > > > Hi Matteo, > > > > Thank you for the patch! Yet something to improve: > > > > [auto build test ERROR on linux/master] > > [also build test ERROR on linus/master v5.15-rc1 next-20210917] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch] > > > > url: https://github.com/0day-ci/linux/commits/Matteo-Croce/riscv-optimized-mem-functions/20210920-032303 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bdb575f872175ed0ecf2638369da1cb7a6e86a14 > > config: riscv-randconfig-r004-20210919 (attached as .config) > > compiler: riscv64-linux-gcc (GCC) 11.2.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/9a948fd7d78a58890608e9dd0f77e5ff84f36e3e > > git remote add linux-review https://github.com/0day-ci/linux > > git fetch --no-tags linux-review Matteo-Croce/riscv-optimized-mem-functions/20210920-032303 > > git checkout 9a948fd7d78a58890608e9dd0f77e5ff84f36e3e > > # save the attached .config to linux build tree > > mkdir build_dir > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash > > > > If you fix the issue, kindly add following tag as appropriate > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > > All errors (new ones prefixed by >>): > > > > arch/riscv/lib/string.c: In function '__memmove': > > >> arch/riscv/lib/string.c:89:7: error: inlining failed in call to 'always_inline' 'memcpy': function body can be overwritten at link time > > 89 | void *memcpy(void *dest, const void *src, size_t count) __weak __alias(__memcpy); > > | ^~~~~~ > > arch/riscv/lib/string.c:99:24: note: called from here > > 99 | return memcpy(dest, src, count); > > | ^~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > vim +89 arch/riscv/lib/string.c > > > > 86c5866e9b7fdd Matteo Croce 2021-09-19 88 > > 86c5866e9b7fdd Matteo Croce 2021-09-19 @89 void *memcpy(void *dest, const void *src, size_t count) __weak __alias(__memcpy); > > 86c5866e9b7fdd Matteo Croce 2021-09-19 90 EXPORT_SYMBOL(memcpy); > > 9a948fd7d78a58 Matteo Croce 2021-09-19 91 > > > > --- > > 0-DAY CI Kernel Test Service, Intel Corporation > > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx > > How can we fix this? Maybe calling __memcpy() instead? Yes, that fixes building with CONFIG_FORTIFY_SOURCE=y for me. Kasan already wraps memmove itself, so it should be fine to call __memcpy directly. /Emil