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: powerpc64-randconfig-r004-20210318 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
fcc1ce00931751ac02498986feb37744e9ace8de)
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
# install powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc64-linux-gnu
#
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=clang make.cross ARCH=powerpc64
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 >>):
> clang-13: warning: -Wl,-a32: 'linker' input unused
[-Wunused-command-line-argument]
clang-13: warning: argument unused during
compilation: '-s' [-Wunused-command-line-argument]
--
> clang-13: warning: -Wl,-soname=linux-vdso32.so.1:
'linker' input unused [-Wunused-command-line-argument]
> clang-13: warning: -Wl,--hash-style=both: 'linker' input unused
[-Wunused-command-line-argument]
clang-13: warning: argument unused during
compilation: '-shared' [-Wunused-command-line-argument]
In file included from <built-in>:3:
In file included from lib/vdso/gettimeofday.c:5:
In file included from include/vdso/datapage.h:137:
> arch/powerpc/include/asm/vdso/gettimeofday.h:137:55: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
int clock_gettime32_fallback(clockid_t _clkid, struct
old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:143:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:56: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:7:54: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
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'
int
__c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:5: note: previous declaration is here
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: error: implicit
declaration of function '__cvdso_clock_gettime32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_gettime32_data(vd, clock, ts);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:56: warning: declaration of 'struct
old_timespec32' will not be visible outside of this function [-Wvisibility]
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'
int
__c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:5: note: previous declaration is here
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: error: implicit
declaration of function '__cvdso_clock_getres_time32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_getres_time32_data(vd, clock_id, res);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
6 warnings and 4 errors generated.
--
> clang-13: warning: -Wl,-soname=linux-vdso32.so.1:
'linker' input unused [-Wunused-command-line-argument]
> clang-13: warning: -Wl,--hash-style=both: 'linker' input unused
[-Wunused-command-line-argument]
clang-13: warning: argument unused during
compilation: '-shared' [-Wunused-command-line-argument]
In file included from <built-in>:3:
In file included from lib/vdso/gettimeofday.c:5:
In file included from include/vdso/datapage.h:137:
> arch/powerpc/include/asm/vdso/gettimeofday.h:137:55: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
int clock_gettime32_fallback(clockid_t _clkid, struct
old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:143:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:56: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:7:54: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
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'
int
__c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:5: note: previous declaration is here
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: error: implicit
declaration of function '__cvdso_clock_gettime32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_gettime32_data(vd, clock, ts);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:56: warning: declaration of 'struct
old_timespec32' will not be visible outside of this function [-Wvisibility]
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'
int
__c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:5: note: previous declaration is here
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: error: implicit
declaration of function '__cvdso_clock_getres_time32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_getres_time32_data(vd, clock_id, res);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
6 warnings and 4 errors generated.
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 'modules_prepare' not remade because of errors.
make: *** [Makefile:215: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from arch/powerpc/kernel/asm-offsets.c:14:
In file included from include/linux/compat.h:14:
In file included from include/linux/sem.h:5:
In file included from include/uapi/linux/sem.h:5:
In file included from include/linux/ipc.h:5:
In file included from include/linux/spinlock.h:90:
In file included from arch/powerpc/include/asm/spinlock.h:7:
arch/powerpc/include/asm/qspinlock.h:40:49: warning: passing 'u32 *' (aka
'unsigned int *') to parameter of type 'int *' converts between pointers
to integer types with different sign [-Wpointer-sign]
if (likely(atomic_try_cmpxchg_lock(&lock->val, &val,
_Q_LOCKED_VAL)))
^~~~
include/linux/compiler.h:77:40: note: expanded from macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
arch/powerpc/include/asm/atomic.h:202:43: note: passing argument to parameter
'old' here
atomic_try_cmpxchg_lock(atomic_t *v, int *old, int new)
^
In file included from arch/powerpc/kernel/asm-offsets.c:39:
In file included from arch/powerpc/include/asm/dbell.h:17:
In file included from arch/powerpc/include/asm/kvm_ppc.h:19:
In file included from include/linux/kvm_host.h:37:
In file included from arch/powerpc/include/asm/kvm_host.h:26:
arch/powerpc/include/asm/hvcall.h:625:41: warning: field 'params' with variable
sized type 'struct hv_get_perf_counter_info_params' not at the end of a struct or
class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]
struct hv_get_perf_counter_info_params params;
^
2 warnings generated.
clang-13clang-13: : warning: warning: -Wl,-a32: 'linker' input unused
[-Wunused-command-line-argument]
-Wl,-a32: 'linker' input unused [-Wunused-command-line-argument]
clang-13clang-13: : warning: -Wl,-a32: 'linker' input unused
[-Wunused-command-line-argument]
warning: -Wl,-a32: 'linker' input unused [-Wunused-command-line-argument]
clang-13: clang-13warning: : argument unused during compilation: '-s'
[-Wunused-command-line-argument]
warning: argument unused during compilation: '-s'
[-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-s'
[-Wunused-command-line-argument]
clang-13: warning: argument unused during compilation: '-s'
[-Wunused-command-line-argument]
> clang-13: warning: -Wl,-a32: 'linker' input unused
[-Wunused-command-line-argument]
clang-13: warning: argument unused during
compilation: '-s' [-Wunused-command-line-argument]
> clang-13: warning: -Wl,-soname=linux-vdso32.so.1:
'linker' input unused [-Wunused-command-line-argument]
> clang-13: warning: -Wl,--hash-style=both: 'linker' input unused
[-Wunused-command-line-argument]
clang-13: warning: argument unused during
compilation: '-shared' [-Wunused-command-line-argument]
In file included from <built-in>:3:
In file included from lib/vdso/gettimeofday.c:5:
In file included from include/vdso/datapage.h:137:
> arch/powerpc/include/asm/vdso/gettimeofday.h:137:55: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
int clock_gettime32_fallback(clockid_t _clkid, struct
old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:143:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int clock_getres32_fallback(clockid_t _clkid, struct old_timespec32 *_ts)
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:54: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:56: warning: declaration of
'struct old_timespec32' will not be visible outside of this function
[-Wvisibility]
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:7:54: warning:
declaration of 'struct old_timespec32' will not be visible outside of this
function [-Wvisibility]
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'
int
__c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:202:5: note: previous declaration is here
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: error: implicit
declaration of function '__cvdso_clock_gettime32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_gettime32_data(vd, clock, ts);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:10:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:25:56: warning: declaration of 'struct
old_timespec32' will not be visible outside of this function [-Wvisibility]
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'
int
__c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
arch/powerpc/include/asm/vdso/gettimeofday.h:206:5: note: previous declaration is here
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
^
> arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: error: implicit
declaration of function '__cvdso_clock_getres_time32_data'
[-Werror,-Wimplicit-function-declaration]
return
__cvdso_clock_getres_time32_data(vd, clock_id, res);
^
arch/powerpc/kernel/vdso32/vgettimeofday.c:28:9: note: did you mean
'__cvdso_clock_gettime_data'?
lib/vdso/gettimeofday.c:252:1: note: '__cvdso_clock_gettime_data' declared
here
__cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock,
^
6 warnings and 4 errors generated.
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 +/__c_kernel_clock_gettime +7 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 7 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