Re: [csky-linux:riscv_compat_v5 20/21] riscv64-linux-ld: arch/riscv/kernel/compat_syscall_table.o:undefined reference to `compat_sys_fadvise64_64'

From: Arnd Bergmann
Date: Wed Feb 02 2022 - 03:51:36 EST


On Wed, Feb 2, 2022 at 1:16 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> tree: https://github.com/c-sky/csky-linux riscv_compat_v5
> head: 471721ad5e81a434eb4c5d84187312fedaf6cf72
> commit: a43cb0b9c0aaa0888a758b2155ef7554a3328aec [20/21] riscv: compat: Add COMPAT Kbuild skeletal support
> config: riscv-randconfig-m031-20220131 (https://download.01.org/0day-ci/archive/20220202/202202020825.z4o2smGO-lkp@xxxxxxxxx/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/c-sky/csky-linux/commit/a43cb0b9c0aaa0888a758b2155ef7554a3328aec
> git remote add csky-linux https://github.com/c-sky/csky-linux
> git fetch --no-tags csky-linux riscv_compat_v5
> git checkout a43cb0b9c0aaa0888a758b2155ef7554a3328aec
> # save the config file 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 >>):
>
> >> riscv64-linux-ld: arch/riscv/kernel/compat_syscall_table.o:(.rodata+0x6f8): undefined reference to `compat_sys_fadvise64_64'

This oneline patch should fix that, but more might be needed if any
other added syscalls
are conditional on kernel config.


Arnd

--- a/kernel/sys_ni.c
+++ b/kernel/sys_ni.c
@@ -278,6 +278,7 @@ COND_SYSCALL(landlock_restrict_self);

/* mm/fadvise.c */
COND_SYSCALL(fadvise64_64);
+COND_SYSCALL_COMPAT(fadvise64_64);

/* mm/, CONFIG_MMU only */
COND_SYSCALL(swapon);