[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <202111091310.etMHozC9-lkp@intel.com>
Date: Tue, 9 Nov 2021 13:17:19 +0800
From: kernel test robot <lkp@...el.com>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: arch/nds32/kernel/vdso/gettimeofday.c:246:13: error: no previous
prototype for '__vdso_gettimeofday'
Hi Stephen,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d2f38a3c6507b2520101f9a3807ed98f1bdc545a
commit: 20fbb11fe4ea99e02d77824613f1438bea456683 don't make the syscall checking produce errors from warnings
date: 9 weeks ago
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=20fbb11fe4ea99e02d77824613f1438bea456683
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 20fbb11fe4ea99e02d77824613f1438bea456683
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
<stdin>:1515:2: warning: #warning syscall clone3 not implemented [-Wcpp]
arch/nds32/kernel/vdso/gettimeofday.c:158:13: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
158 | notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec *ts)
| ^~~~~~~~~~~~~~~~~~~~
arch/nds32/kernel/vdso/gettimeofday.c:206:13: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
206 | notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec *res)
| ^~~~~~~~~~~~~~~~~~~
>> arch/nds32/kernel/vdso/gettimeofday.c:246:13: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
246 | notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
| ^~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [scripts/Makefile.build:277: arch/nds32/kernel/vdso/gettimeofday.o] Error 1
make[2]: Target 'include/generated/vdso-offsets.h' not remade because of errors.
make[1]: *** [arch/nds32/Makefile:63: vdso_prepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/__vdso_gettimeofday +246 arch/nds32/kernel/vdso/gettimeofday.c
eefacd1dfe38a3 Greentime Hu 2017-10-25 157
82210fc778982d Arnd Bergmann 2019-10-27 @158 notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec *ts)
eefacd1dfe38a3 Greentime Hu 2017-10-25 159 {
eefacd1dfe38a3 Greentime Hu 2017-10-25 160 struct vdso_data *vdata;
eefacd1dfe38a3 Greentime Hu 2017-10-25 161 int ret = -1;
eefacd1dfe38a3 Greentime Hu 2017-10-25 162
eefacd1dfe38a3 Greentime Hu 2017-10-25 163 vdata = __get_datapage();
eefacd1dfe38a3 Greentime Hu 2017-10-25 164 if (vdata->cycle_count_offset == EMPTY_REG_OFFSET)
eefacd1dfe38a3 Greentime Hu 2017-10-25 165 return clock_gettime_fallback(clkid, ts);
eefacd1dfe38a3 Greentime Hu 2017-10-25 166
eefacd1dfe38a3 Greentime Hu 2017-10-25 167 switch (clkid) {
eefacd1dfe38a3 Greentime Hu 2017-10-25 168 case CLOCK_REALTIME_COARSE:
eefacd1dfe38a3 Greentime Hu 2017-10-25 169 ret = do_realtime_coarse(ts, vdata);
eefacd1dfe38a3 Greentime Hu 2017-10-25 170 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 171 case CLOCK_MONOTONIC_COARSE:
eefacd1dfe38a3 Greentime Hu 2017-10-25 172 ret = do_monotonic_coarse(ts, vdata);
eefacd1dfe38a3 Greentime Hu 2017-10-25 173 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 174 case CLOCK_REALTIME:
eefacd1dfe38a3 Greentime Hu 2017-10-25 175 ret = do_realtime(ts, vdata);
eefacd1dfe38a3 Greentime Hu 2017-10-25 176 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 177 case CLOCK_MONOTONIC:
eefacd1dfe38a3 Greentime Hu 2017-10-25 178 ret = do_monotonic(ts, vdata);
eefacd1dfe38a3 Greentime Hu 2017-10-25 179 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 180 default:
eefacd1dfe38a3 Greentime Hu 2017-10-25 181 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 182 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 183
eefacd1dfe38a3 Greentime Hu 2017-10-25 184 if (ret)
eefacd1dfe38a3 Greentime Hu 2017-10-25 185 ret = clock_gettime_fallback(clkid, ts);
eefacd1dfe38a3 Greentime Hu 2017-10-25 186
eefacd1dfe38a3 Greentime Hu 2017-10-25 187 return ret;
eefacd1dfe38a3 Greentime Hu 2017-10-25 188 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 189
eefacd1dfe38a3 Greentime Hu 2017-10-25 190 static notrace int clock_getres_fallback(clockid_t _clk_id,
82210fc778982d Arnd Bergmann 2019-10-27 191 struct __kernel_old_timespec *_res)
eefacd1dfe38a3 Greentime Hu 2017-10-25 192 {
eefacd1dfe38a3 Greentime Hu 2017-10-25 193 register clockid_t clk_id asm("$r0") = _clk_id;
82210fc778982d Arnd Bergmann 2019-10-27 194 register struct __kernel_old_timespec *res asm("$r1") = _res;
eefacd1dfe38a3 Greentime Hu 2017-10-25 195 register int ret asm("$r0");
eefacd1dfe38a3 Greentime Hu 2017-10-25 196
eefacd1dfe38a3 Greentime Hu 2017-10-25 197 asm volatile ("movi $r15, %3\n"
eefacd1dfe38a3 Greentime Hu 2017-10-25 198 "syscall 0x0\n"
eefacd1dfe38a3 Greentime Hu 2017-10-25 199 :"=r" (ret)
eefacd1dfe38a3 Greentime Hu 2017-10-25 200 :"r"(clk_id), "r"(res), "i"(__NR_clock_getres)
eefacd1dfe38a3 Greentime Hu 2017-10-25 201 :"$r15", "memory");
eefacd1dfe38a3 Greentime Hu 2017-10-25 202
eefacd1dfe38a3 Greentime Hu 2017-10-25 203 return ret;
eefacd1dfe38a3 Greentime Hu 2017-10-25 204 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 205
82210fc778982d Arnd Bergmann 2019-10-27 206 notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec *res)
eefacd1dfe38a3 Greentime Hu 2017-10-25 207 {
af9abd65983cf3 Vincenzo Frascino 2019-04-01 208 struct vdso_data *vdata = __get_datapage();
af9abd65983cf3 Vincenzo Frascino 2019-04-01 209
eefacd1dfe38a3 Greentime Hu 2017-10-25 210 if (res == NULL)
eefacd1dfe38a3 Greentime Hu 2017-10-25 211 return 0;
eefacd1dfe38a3 Greentime Hu 2017-10-25 212 switch (clk_id) {
eefacd1dfe38a3 Greentime Hu 2017-10-25 213 case CLOCK_REALTIME:
eefacd1dfe38a3 Greentime Hu 2017-10-25 214 case CLOCK_MONOTONIC:
eefacd1dfe38a3 Greentime Hu 2017-10-25 215 case CLOCK_MONOTONIC_RAW:
eefacd1dfe38a3 Greentime Hu 2017-10-25 216 res->tv_sec = 0;
af9abd65983cf3 Vincenzo Frascino 2019-04-01 217 res->tv_nsec = vdata->hrtimer_res;
eefacd1dfe38a3 Greentime Hu 2017-10-25 218 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 219 case CLOCK_REALTIME_COARSE:
eefacd1dfe38a3 Greentime Hu 2017-10-25 220 case CLOCK_MONOTONIC_COARSE:
eefacd1dfe38a3 Greentime Hu 2017-10-25 221 res->tv_sec = 0;
eefacd1dfe38a3 Greentime Hu 2017-10-25 222 res->tv_nsec = CLOCK_COARSE_RES;
eefacd1dfe38a3 Greentime Hu 2017-10-25 223 break;
eefacd1dfe38a3 Greentime Hu 2017-10-25 224 default:
eefacd1dfe38a3 Greentime Hu 2017-10-25 225 return clock_getres_fallback(clk_id, res);
eefacd1dfe38a3 Greentime Hu 2017-10-25 226 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 227 return 0;
eefacd1dfe38a3 Greentime Hu 2017-10-25 228 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 229
ddccf40fe82b7a Arnd Bergmann 2017-11-23 230 static notrace inline int gettimeofday_fallback(struct __kernel_old_timeval *_tv,
eefacd1dfe38a3 Greentime Hu 2017-10-25 231 struct timezone *_tz)
eefacd1dfe38a3 Greentime Hu 2017-10-25 232 {
ddccf40fe82b7a Arnd Bergmann 2017-11-23 233 register struct __kernel_old_timeval *tv asm("$r0") = _tv;
eefacd1dfe38a3 Greentime Hu 2017-10-25 234 register struct timezone *tz asm("$r1") = _tz;
eefacd1dfe38a3 Greentime Hu 2017-10-25 235 register int ret asm("$r0");
eefacd1dfe38a3 Greentime Hu 2017-10-25 236
eefacd1dfe38a3 Greentime Hu 2017-10-25 237 asm volatile ("movi $r15, %3\n"
eefacd1dfe38a3 Greentime Hu 2017-10-25 238 "syscall 0x0\n"
eefacd1dfe38a3 Greentime Hu 2017-10-25 239 :"=r" (ret)
eefacd1dfe38a3 Greentime Hu 2017-10-25 240 :"r"(tv), "r"(tz), "i"(__NR_gettimeofday)
eefacd1dfe38a3 Greentime Hu 2017-10-25 241 :"$r15", "memory");
eefacd1dfe38a3 Greentime Hu 2017-10-25 242
eefacd1dfe38a3 Greentime Hu 2017-10-25 243 return ret;
eefacd1dfe38a3 Greentime Hu 2017-10-25 244 }
eefacd1dfe38a3 Greentime Hu 2017-10-25 245
ddccf40fe82b7a Arnd Bergmann 2017-11-23 @246 notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
:::::: The code at line 246 was first introduced by commit
:::::: ddccf40fe82b7ac7c44b186ec4b6d1d1bbc2cbff y2038: vdso: change timeval to __kernel_old_timeval
:::::: TO: Arnd Bergmann <arnd@...db.de>
:::::: CC: Arnd Bergmann <arnd@...db.de>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (61630 bytes)
Powered by blists - more mailing lists