[jirislaby:lto 12/45] kernel/time/posix-stubs.c:38:44: error: conflicting types for 'compat_sys_timer_create'; have 'long int(void)'
From: kernel test robot
Date: Wed Jun 22 2022 - 19:03:23 EST
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git lto
head: 8047611082d70c5263114fabce8c80a4c3d251fa
commit: d6f8c88795ffd42d25c4d6c8634d9859d2b5ee57 [12/45] lto: Use C version for SYSCALL_ALIAS / cond_syscall
config: sparc64-randconfig-r035-20220622 (https://download.01.org/0day-ci/archive/20220623/202206230609.ubEcfE97-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 11.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/jirislaby/linux.git/commit/?id=d6f8c88795ffd42d25c4d6c8634d9859d2b5ee57
git remote add jirislaby https://git.kernel.org/pub/scm/linux/kernel/git/jirislaby/linux.git
git fetch --no-tags jirislaby lto
git checkout d6f8c88795ffd42d25c4d6c8634d9859d2b5ee57
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=sparc64 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
kernel/time/posix-stubs.c:25:17: warning: no previous prototype for 'sys_ni_posix_timers' [-Wmissing-prototypes]
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:73:5: warning: no previous prototype for 'do_clock_gettime' [-Wmissing-prototypes]
73 | int do_clock_gettime(clockid_t which_clock, struct timespec64 *tp)
| ^~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
>> kernel/time/posix-stubs.c:38:44: error: conflicting types for 'compat_sys_timer_create'; have 'long int(void)'
38 | #define COMPAT_SYS_NI(name) SYSCALL_ALIAS(compat_sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~
include/linux/linkage.h:32:14: note: in definition of macro 'SYSCALL_ALIAS'
32 | long a(void) __attribute__((alias(__stringify(name))))
| ^
kernel/time/posix-stubs.c:160:1: note: in expansion of macro 'COMPAT_SYS_NI'
160 | COMPAT_SYS_NI(timer_create);
| ^~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:18:
include/linux/compat.h:727:17: note: previous declaration of 'compat_sys_timer_create' with type 'long int(clockid_t, struct compat_sigevent *, timer_t *)' {aka 'long int(int, struct compat_sigevent *, int *)'}
727 | asmlinkage long compat_sys_timer_create(clockid_t which_clock,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
>> kernel/time/posix-stubs.c:38:44: error: conflicting types for 'compat_sys_getitimer'; have 'long int(void)'
38 | #define COMPAT_SYS_NI(name) SYSCALL_ALIAS(compat_sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~
include/linux/linkage.h:32:14: note: in definition of macro 'SYSCALL_ALIAS'
32 | long a(void) __attribute__((alias(__stringify(name))))
| ^
kernel/time/posix-stubs.c:164:1: note: in expansion of macro 'COMPAT_SYS_NI'
164 | COMPAT_SYS_NI(getitimer);
| ^~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:18:
include/linux/compat.h:714:17: note: previous declaration of 'compat_sys_getitimer' with type 'long int(int, struct old_itimerval32 *)'
714 | asmlinkage long compat_sys_getitimer(int which,
| ^~~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
>> kernel/time/posix-stubs.c:38:44: error: conflicting types for 'compat_sys_setitimer'; have 'long int(void)'
38 | #define COMPAT_SYS_NI(name) SYSCALL_ALIAS(compat_sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~
include/linux/linkage.h:32:14: note: in definition of macro 'SYSCALL_ALIAS'
32 | long a(void) __attribute__((alias(__stringify(name))))
| ^
kernel/time/posix-stubs.c:165:1: note: in expansion of macro 'COMPAT_SYS_NI'
165 | COMPAT_SYS_NI(setitimer);
| ^~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:18:
include/linux/compat.h:716:17: note: previous declaration of 'compat_sys_setitimer' with type 'long int(int, struct old_itimerval32 *, struct old_itimerval32 *)'
716 | asmlinkage long compat_sys_setitimer(int which,
| ^~~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_timer_create' alias between functions of incompatible types 'long int(clockid_t, struct sigevent *, timer_t *)' {aka 'long int(int, struct sigevent *, int *)'} and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:41:1: note: in expansion of macro 'SYS_NI'
41 | SYS_NI(timer_create);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_timer_gettime32' alias between functions of incompatible types 'long int(timer_t, struct old_itimerspec32 *)' {aka 'long int(int, struct old_itimerspec32 *)'} and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:170:1: note: in expansion of macro 'SYS_NI'
170 | SYS_NI(timer_gettime32);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_timer_settime32' alias between functions of incompatible types 'long int(timer_t, int, struct old_itimerspec32 *, struct old_itimerspec32 *)' {aka 'long int(int, int, struct old_itimerspec32 *, struct old_itimerspec32 *)'} and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:169:1: note: in expansion of macro 'SYS_NI'
169 | SYS_NI(timer_settime32);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_alarm' alias between functions of incompatible types 'long int(unsigned int)' and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:51:1: note: in expansion of macro 'SYS_NI'
51 | SYS_NI(alarm);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_clock_adjtime32' alias between functions of incompatible types 'long int(clockid_t, struct old_timex32 *)' {aka 'long int(int, struct old_timex32 *)'} and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:49:1: note: in expansion of macro 'SYS_NI'
49 | SYS_NI(clock_adjtime32);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_setitimer' alias between functions of incompatible types 'long int(int, struct __kernel_old_itimerval *, struct __kernel_old_itimerval *)' and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:48:1: note: in expansion of macro 'SYS_NI'
48 | SYS_NI(setitimer);
| ^~~~~~
kernel/time/posix-stubs.c:25:17: note: aliased declaration here
25 | asmlinkage long sys_ni_posix_timers(void)
| ^~~~~~~~~~~~~~~~~~~
In file included from kernel/time/posix-stubs.c:9:
kernel/time/posix-stubs.c:34:43: warning: 'sys_getitimer' alias between functions of incompatible types 'long int(int, struct __kernel_old_itimerval *)' and 'long int(void)' [-Wattribute-alias=]
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~
kernel/time/posix-stubs.c:34:23: note: in expansion of macro 'SYSCALL_ALIAS_PROTO'
34 | #define SYS_NI(name) SYSCALL_ALIAS_PROTO(sys_##name, sys_ni_posix_timers)
| ^~~~~~~~~~~~~~~~~~~
kernel/time/posix-stubs.c:47:1: note: in expansion of macro 'SYS_NI'
47 | SYS_NI(getitimer);
| ^~~~~~
vim +38 kernel/time/posix-stubs.c
7303e30ec1d8fb5 Dominik Brodowski 2018-04-05 36
7303e30ec1d8fb5 Dominik Brodowski 2018-04-05 37 #ifndef COMPAT_SYS_NI
3a4d44b61625550 Al Viro 2017-06-07 @38 #define COMPAT_SYS_NI(name) SYSCALL_ALIAS(compat_sys_##name, sys_ni_posix_timers)
7303e30ec1d8fb5 Dominik Brodowski 2018-04-05 39 #endif
baa73d9e478ff32 Nicolas Pitre 2016-11-11 40
:::::: The code at line 38 was first introduced by commit
:::::: 3a4d44b6162555070194e486ff6b3799a8d323a2 ntp: Move adjtimex related compat syscalls to native counterparts
:::::: TO: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
:::::: CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
--
0-DAY CI Kernel Test Service
https://01.org/lkp