[ammarfaizi2-block:google/android/kernel/common/android-4.19-stable 782/9999] arch/mips/include/asm/vdso/gettimeofday.h:94:38: error: '__NR_clock_getres_time64' undeclared

From: kernel test robot
Date: Thu Mar 03 2022 - 01:46:53 EST


Hi Vincenzo,

FYI, the error/warning still remains.

tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable
head: 90a691fca4c2525068d9908ac203e9f09e4e33c0
commit: 23dea1cf7ed3846719448e74feeb56c28e3a9019 [782/9999] UPSTREAM: mips: Add clock_getres entry point
config: mips-randconfig-r016-20211028 (https://download.01.org/0day-ci/archive/20220303/202203031405.oBHU6BPY-lkp@xxxxxxxxx/config)
compiler: mipsel-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/ammarfaizi2/linux-block/commit/23dea1cf7ed3846719448e74feeb56c28e3a9019
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable
git checkout 23dea1cf7ed3846719448e74feeb56c28e3a9019
# 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=mips SHELL=/bin/bash arch/mips/kernel/ arch/mips/vdso/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from lib/vdso/gettimeofday.c:26,
from <command-line>:
arch/mips/include/asm/vdso/gettimeofday.h: In function 'clock_gettime_fallback':
arch/mips/include/asm/vdso/gettimeofday.h:70:38: error: '__NR_clock_gettime64' undeclared (first use in this function)
70 | register long nr asm("v0") = __NR_clock_gettime64;
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/vdso/gettimeofday.h:70:38: note: each undeclared identifier is reported only once for each function it appears in
arch/mips/include/asm/vdso/gettimeofday.h: In function 'clock_getres_fallback':
>> arch/mips/include/asm/vdso/gettimeofday.h:94:38: error: '__NR_clock_getres_time64' undeclared (first use in this function)
94 | register long nr asm("v0") = __NR_clock_getres_time64;
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
lib/vdso/gettimeofday.c: In function '__cvdso_clock_gettime32':
lib/vdso/gettimeofday.c:113:20: error: invalid use of undefined type 'struct compat_timespec'
113 | res->tv_sec = ts.tv_sec;
| ^~
lib/vdso/gettimeofday.c:114:20: error: invalid use of undefined type 'struct compat_timespec'
114 | res->tv_nsec = ts.tv_nsec;
| ^~
lib/vdso/gettimeofday.c: In function '__cvdso_clock_getres_time32':
lib/vdso/gettimeofday.c:219:20: error: invalid use of undefined type 'struct compat_timespec'
219 | res->tv_sec = ts.tv_sec;
| ^~
lib/vdso/gettimeofday.c:220:20: error: invalid use of undefined type 'struct compat_timespec'
220 | res->tv_nsec = ts.tv_nsec;
| ^~
arch/mips/vdso/vgettimeofday.c: At top level:
arch/mips/vdso/vgettimeofday.c:14:5: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes]
14 | int __vdso_clock_gettime(clockid_t clock,
| ^~~~~~~~~~~~~~~~~~~~
arch/mips/vdso/vgettimeofday.c:20:5: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes]
20 | int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
| ^~~~~~~~~~~~~~~~~~~
arch/mips/vdso/vgettimeofday.c:26:5: warning: no previous prototype for '__vdso_clock_getres' [-Wmissing-prototypes]
26 | int __vdso_clock_getres(clockid_t clock_id,
| ^~~~~~~~~~~~~~~~~~~


vim +/__NR_clock_getres_time64 +94 arch/mips/include/asm/vdso/gettimeofday.h

83
84 static __always_inline int clock_getres_fallback(
85 clockid_t _clkid,
86 struct __kernel_timespec *_ts)
87 {
88 register struct __kernel_timespec *ts asm("a1") = _ts;
89 register clockid_t clkid asm("a0") = _clkid;
90 register long ret asm("v0");
91 #if _MIPS_SIM == _MIPS_SIM_ABI64
92 register long nr asm("v0") = __NR_clock_getres;
93 #else
> 94 register long nr asm("v0") = __NR_clock_getres_time64;
95 #endif
96 register long error asm("a3");
97
98 asm volatile(
99 " syscall\n"
100 : "=r" (ret), "=r" (error)
101 : "r" (clkid), "r" (ts), "r" (nr)
102 : "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
103 "$14", "$15", "$24", "$25", "hi", "lo", "memory");
104
105 return error ? -ret : ret;
106 }
107

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx