[tip:timers/vdso 4/4] arch/sparc/include/uapi/../../../../lib/vdso/gettimeofday.c:288:24: error: call to undeclared function 'BITS_PER_TYPE'; ISO C99 and later do not support implicit function declarations
From: kernel test robot
Date: Wed Sep 30 2026 - 04:18:20 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/vdso
head: ca46a07c4b68246c4e400ce3649ab7228a878d8f
commit: ca46a07c4b68246c4e400ce3649ab7228a878d8f [4/4] vdso/gettimeofday: Assert that the clockid fits into the u32 bitmask
config: sparc64-defconfig (https://download.01.org/0day-ci/archive/20260930/202609301648.OQYqz8q1-lkp@xxxxxxxxx/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 5f609f950d2e80addf5566623013db68394334db)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260930/202609301648.OQYqz8q1-lkp@xxxxxxxxx/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609301648.OQYqz8q1-lkp@xxxxxxxxx/
All errors (new ones prefixed by >>):
In file included from arch/sparc/vdso/vclock_gettime.c:22:
>> arch/sparc/include/uapi/../../../../lib/vdso/gettimeofday.c:288:24: error: call to undeclared function 'BITS_PER_TYPE'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
288 | BUILD_BUG_ON(clock >= BITS_PER_TYPE(msk));
| ^
1 error generated.
vim +/BITS_PER_TYPE +288 arch/sparc/include/uapi/../../../../lib/vdso/gettimeofday.c
273
274 static __always_inline bool
275 __cvdso_clock_gettime_common(const struct vdso_time_data *vd, clockid_t clock,
276 struct __kernel_timespec *ts)
277 {
278 const struct vdso_clock *vc = vd->clock_data;
279 u32 msk;
280
281 if (!vdso_clockid_valid(clock))
282 return false;
283
284 /*
285 * Convert the clockid to a bitmask and use it to check which
286 * clocks are handled in the VDSO directly.
287 */
> 288 BUILD_BUG_ON(clock >= BITS_PER_TYPE(msk));
289 msk = 1U << clock;
290 if (likely(msk & VDSO_HRES))
291 vc = &vc[CS_HRES_COARSE];
292 else if (msk & VDSO_COARSE)
293 return do_coarse(vd, &vc[CS_HRES_COARSE], clock, ts);
294 else if (msk & VDSO_RAW)
295 vc = &vc[CS_RAW];
296 else if (msk & VDSO_AUX)
297 return do_aux(vd, clock, ts);
298 else
299 return false;
300
301 return do_hres(vd, vc, clock, ts);
302 }
303
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki