Hi Arnd,
First bad commit (maybe != root cause):
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
randconfig-v5.12
head: fd21c2581b744639b5207c11651ab40abf13701a
commit: c43a5a05c0cd6cc79fa4cf9400d94faf4f663b6f [323/597] fixup warnings
config: powerpc-randconfig-r025-20210318 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.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/arnd/playground.git/commi...
git remote add arnd-playground
https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground randconfig-v5.12
git checkout c43a5a05c0cd6cc79fa4cf9400d94faf4f663b6f
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
> arch/powerpc/include/asm/vdso/gettimeofday.h:137:55: warning:
'struct old_timespec32' declared inside parameter list will not be visible outside
of this definition or declaration
137 | int clock_gettime32_fallback(clockid_t
_clkid, struct old_timespec32 *_ts)
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:143:54: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
143 | int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:202:54: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
202 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:206:56: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
206 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~
> arch/powerpc/kernel/vdso32/vgettimeofday.c:7:54: warning:
'struct old_timespec32' declared inside parameter list will not be visible outside
of this definition or declaration
7 | int __c_kernel_clock_gettime(clockid_t
clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c:7:5: error: conflicting types for
'__c_kernel_clock_gettime'
7 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
arch/powerpc/include/asm/vdso/gettimeofday.h:202:5: note: previous declaration of
'__c_kernel_clock_gettime' was here
202 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c: In function
'__c_kernel_clock_gettime':
> arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: error: implicit
declaration of function '__cvdso_clock_gettime32_data'; did you mean
'__cvdso_clock_gettime_data'? [-Werror=implicit-function-declaration]
10 | return __cvdso_clock_gettime32_data(vd, clock, ts);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_gettime_data
arch/powerpc/kernel/vdso32/vgettimeofday.c: At top level:
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:56: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
25 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:5: error: conflicting types for
'__c_kernel_clock_getres'
25 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
arch/powerpc/include/asm/vdso/gettimeofday.h:206:5: note: previous declaration of
'__c_kernel_clock_getres' was here
206 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c: In function
'__c_kernel_clock_getres':
> arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: error: implicit
declaration of function '__cvdso_clock_getres_time32_data'; did you mean
'__cvdso_clock_gettime_data'? [-Werror=implicit-function-declaration]
28 | return __cvdso_clock_getres_time32_data(vd, clock_id, res);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_gettime_data
cc1: some warnings being treated as errors
--
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
> arch/powerpc/include/asm/vdso/gettimeofday.h:137:55: warning:
'struct old_timespec32' declared inside parameter list will not be visible outside
of this definition or declaration
137 | int clock_gettime32_fallback(clockid_t
_clkid, struct old_timespec32 *_ts)
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:143:54: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
143 | int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:202:54: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
202 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~
arch/powerpc/include/asm/vdso/gettimeofday.h:206:56: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
206 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~
> arch/powerpc/kernel/vdso32/vgettimeofday.c:7:54: warning:
'struct old_timespec32' declared inside parameter list will not be visible outside
of this definition or declaration
7 | int __c_kernel_clock_gettime(clockid_t
clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c:7:5: error: conflicting types for
'__c_kernel_clock_gettime'
7 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
arch/powerpc/include/asm/vdso/gettimeofday.h:202:5: note: previous declaration of
'__c_kernel_clock_gettime' was here
202 | int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
| ^~~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c: In function
'__c_kernel_clock_gettime':
> arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: error: implicit
declaration of function '__cvdso_clock_gettime32_data'; did you mean
'__cvdso_clock_gettime_data'? [-Werror=implicit-function-declaration]
10 | return __cvdso_clock_gettime32_data(vd, clock, ts);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_gettime_data
arch/powerpc/kernel/vdso32/vgettimeofday.c: At top level:
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:56: warning: 'struct
old_timespec32' declared inside parameter list will not be visible outside of this
definition or declaration
25 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:5: error: conflicting types for
'__c_kernel_clock_getres'
25 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/vdso/datapage.h:137,
from lib/vdso/gettimeofday.c:5,
from <command-line>:
arch/powerpc/include/asm/vdso/gettimeofday.h:206:5: note: previous declaration of
'__c_kernel_clock_getres' was here
206 | int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
| ^~~~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/vdso32/vgettimeofday.c: In function
'__c_kernel_clock_getres':
> arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: error: implicit
declaration of function '__cvdso_clock_getres_time32_data'; did you mean
'__cvdso_clock_gettime_data'? [-Werror=implicit-function-declaration]
28 | return __cvdso_clock_getres_time32_data(vd, clock_id, res);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| __cvdso_clock_gettime_data
cc1: some warnings being treated as errors
make[2]: *** [arch/powerpc/kernel/vdso32/Makefile:57:
arch/powerpc/kernel/vdso32/vgettimeofday.o] Error 1
make[2]: Target 'include/generated/vdso32-offsets.h' not remade because of
errors.
make[1]: *** [arch/powerpc/Makefile:423: vdso_prepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +10 arch/powerpc/kernel/vdso32/vgettimeofday.c
ce7d8056e38b77 Christophe Leroy 2020-11-27 6
ce7d8056e38b77 Christophe Leroy 2020-11-27 @7 int __c_kernel_clock_gettime(clockid_t
clock, struct old_timespec32 *ts,
ce7d8056e38b77 Christophe Leroy 2020-11-27 8 const struct vdso_data *vd)
ce7d8056e38b77 Christophe Leroy 2020-11-27 9 {
ce7d8056e38b77 Christophe Leroy 2020-11-27 @10 return __cvdso_clock_gettime32_data(vd,
clock, ts);
ce7d8056e38b77 Christophe Leroy 2020-11-27 11 }
ce7d8056e38b77 Christophe Leroy 2020-11-27 12
d0e3fc69d00d1f Christophe Leroy 2020-11-27 13 int __c_kernel_clock_gettime64(clockid_t
clock, struct __kernel_timespec *ts,
d0e3fc69d00d1f Christophe Leroy 2020-11-27 14 const struct vdso_data *vd)
d0e3fc69d00d1f Christophe Leroy 2020-11-27 15 {
d0e3fc69d00d1f Christophe Leroy 2020-11-27 16 return __cvdso_clock_gettime_data(vd,
clock, ts);
d0e3fc69d00d1f Christophe Leroy 2020-11-27 17 }
d0e3fc69d00d1f Christophe Leroy 2020-11-27 18
ce7d8056e38b77 Christophe Leroy 2020-11-27 19 int __c_kernel_gettimeofday(struct
__kernel_old_timeval *tv, struct timezone *tz,
ce7d8056e38b77 Christophe Leroy 2020-11-27 20 const struct vdso_data *vd)
ce7d8056e38b77 Christophe Leroy 2020-11-27 21 {
ce7d8056e38b77 Christophe Leroy 2020-11-27 22 return __cvdso_gettimeofday_data(vd, tv,
tz);
ce7d8056e38b77 Christophe Leroy 2020-11-27 23 }
ce7d8056e38b77 Christophe Leroy 2020-11-27 24
ce7d8056e38b77 Christophe Leroy 2020-11-27 25 int __c_kernel_clock_getres(clockid_t
clock_id, struct old_timespec32 *res,
ce7d8056e38b77 Christophe Leroy 2020-11-27 26 const struct vdso_data *vd)
ce7d8056e38b77 Christophe Leroy 2020-11-27 27 {
ce7d8056e38b77 Christophe Leroy 2020-11-27 @28 return
__cvdso_clock_getres_time32_data(vd, clock_id, res);
ce7d8056e38b77 Christophe Leroy 2020-11-27 29 }
ce7d8056e38b77 Christophe Leroy 2020-11-27 30
:::::: The code at line 10 was first introduced by commit
:::::: ce7d8056e38b770f070fc4499c577322b6ccb9c7 powerpc/vdso: Prepare for switching VDSO
to generic C implementation.
:::::: TO: Christophe Leroy <christophe.leroy(a)csgroup.eu>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org