tree:
https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
randconfig-20200504
head: 5867adb94a59773ef2e3262b70538803fe896906
commit: c0d4007762ea821f644e7c87e338a5d3bb24b896 [199/355] y2038: move ns_to_old_timeval32
definition
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout c0d4007762ea821f644e7c87e338a5d3bb24b896
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: the arnd-playground/randconfig-20200504 HEAD
5867adb94a59773ef2e3262b70538803fe896906 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/linux/time.h:74:0,
from include/linux/ktime.h:24,
from include/linux/timer.h:6,
from include/linux/workqueue.h:9,
from include/linux/mm_types.h:16,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/time32.h: In function 'ns_to_old_timeval32':
> include/linux/time32.h:75:7: warning: implicit declaration of
function 'ns_to_kernel_old_timeval'; did you mean 'ns_to_old_timeval32'?
[-Wimplicit-function-declaration]
tv = ns_to_kernel_old_timeval(nsec);
^~~~~~~~~~~~~~~~~~~~~~~~
ns_to_old_timeval32
> include/linux/time32.h:75:5: error: incompatible types when
assigning to type 'struct __kernel_old_timeval' from type 'int'
tv =
ns_to_kernel_old_timeval(nsec);
^
In file included from include/linux/ktime.h:24:0,
from include/linux/timer.h:6,
from include/linux/workqueue.h:9,
from include/linux/mm_types.h:16,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/time.h: At top level:
> include/linux/time.h:91:36: error: conflicting types for
'ns_to_kernel_old_timeval'
extern struct __kernel_old_timeval
ns_to_kernel_old_timeval(s64 nsec);
^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/time.h:74:0,
from include/linux/ktime.h:24,
from include/linux/timer.h:6,
from include/linux/workqueue.h:9,
from include/linux/mm_types.h:16,
from include/linux/mmzone.h:21,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:19,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/time32.h:75:7: note: previous implicit declaration of
'ns_to_kernel_old_timeval' was here
tv = ns_to_kernel_old_timeval(nsec);
^~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:106: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1121: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:180: sub-make] Error 2
vim +75 include/linux/time32.h
63
64 /**
65 * ns_to_old_timeval32 - Compat version of ns_to_timeval
66 * @nsec: the nanoseconds value to be converted
67 *
68 * Returns the old_timeval32 representation of the nsec parameter.
69 */
70 static inline struct old_timeval32 ns_to_old_timeval32(s64 nsec)
71 {
72 struct __kernel_old_timeval tv;
73 struct old_timeval32 ctv;
74
75 tv = ns_to_kernel_old_timeval(nsec);
76 ctv.tv_sec =
tv.tv_sec;
77 ctv.tv_usec = tv.tv_usec;
78
79 return ctv;
80 }
81
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org