lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Wed, 30 May 2018 04:56:23 +0000
From:   "Li, Philip" <philip.li@...el.com>
To:     lkp <lkp@...el.com>, Al Viro <viro@...iv.linux.org.uk>
CC:     "kbuild-all@...org" <kbuild-all@...org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [kbuild-all] include/linux/syscalls.h:211:18: error:
 'sys_sparc_remap_file_pages' alias between functions of incompatible types
 'long int(long unsigned int, long unsigned int, long unsigned int, long
 unsigned int, long unsigned int)' and 'long int(lon

> 
> Hi Al,
> 
> FYI, the error/warning still remains.
hi AI, kindly ignore this, the warning below may be caused by gcc-8.1 upgrade.
we will double check to reduce noises.

> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   0044cdeb731313f20b63cb5644de7588731de32b
> commit: a0d32ad366bb4235267380b341fcae8307f51044 switch
> sparc_remap_file_pages() to SYSCALL_DEFINE
> date:   2 months ago
> config: sparc-defconfig (attached as .config)
> compiler: sparc-linux-gcc (GCC) 8.1.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-
> tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         git checkout a0d32ad366bb4235267380b341fcae8307f51044
>         # save the attached .config to linux build tree
>         make.cross ARCH=sparc
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from arch/sparc/kernel/sys_sparc_32.c:21:
>    include/linux/syscalls.h:211:18: error: 'sys_mmap2' alias between functions of
> incompatible types 'long int(long unsigned int,  long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:101:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:101:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_getdomainname' alias between
> functions of incompatible types 'long int(char *, int)' and 'long int(long int,  long
> int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:197:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:205:1: note: in expansion of macro
> 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:197:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:205:1: note: in expansion of macro
> 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_rt_sigaction' alias between functions
> of incompatible types 'long int(int,  const struct sigaction *, struct sigaction *, void
> *, size_t)' {aka 'long int(int,  const struct sigaction *, struct sigaction *, void *,
> unsigned int)'} and 'long int(long int,  long int,  long int,  long int,  long int)' [-
> Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:176:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(rt_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:176:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(rt_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_sparc_sigaction' alias between
> functions of incompatible types 'long int(int,  struct old_sigaction *, struct
> old_sigaction *)' and 'long int(long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:198:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:168:1: note: in expansion of macro
> 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(sparc_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:198:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:168:1: note: in expansion of macro
> 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(sparc_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
> >> include/linux/syscalls.h:211:18: error: 'sys_sparc_remap_file_pages' alias
> between functions of incompatible types 'long int(long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:119:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(sparc_remap_file_pages, unsigned long, start, unsigned
> long, size,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:119:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(sparc_remap_file_pages, unsigned long, start, unsigned
> long, size,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_mmap' alias between functions of
> incompatible types 'long int(long unsigned int,  long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:111:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc/kernel/sys_sparc_32.c:111:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> --
>    In file included from arch/sparc//kernel/sys_sparc_32.c:21:
>    include/linux/syscalls.h:211:18: error: 'sys_mmap2' alias between functions of
> incompatible types 'long int(long unsigned int,  long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:101:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:101:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_getdomainname' alias between
> functions of incompatible types 'long int(char *, int)' and 'long int(long int,  long
> int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:197:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:205:1: note: in expansion of macro
> 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:197:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:205:1: note: in expansion of macro
> 'SYSCALL_DEFINE2'
>     SYSCALL_DEFINE2(getdomainname, char __user *, name, int, len)
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_rt_sigaction' alias between functions
> of incompatible types 'long int(int,  const struct sigaction *, struct sigaction *, void
> *, size_t)' {aka 'long int(int,  const struct sigaction *, struct sigaction *, void *,
> unsigned int)'} and 'long int(long int,  long int,  long int,  long int,  long int)' [-
> Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:176:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(rt_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:176:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(rt_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_sparc_sigaction' alias between
> functions of incompatible types 'long int(int,  struct old_sigaction *, struct
> old_sigaction *)' and 'long int(long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:198:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:168:1: note: in expansion of macro
> 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(sparc_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:198:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:168:1: note: in expansion of macro
> 'SYSCALL_DEFINE3'
>     SYSCALL_DEFINE3(sparc_sigaction, int, sig,
>     ^~~~~~~~~~~~~~~
> >> include/linux/syscalls.h:211:18: error: 'sys_sparc_remap_file_pages' alias
> between functions of incompatible types 'long int(long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:119:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(sparc_remap_file_pages, unsigned long, start, unsigned
> long, size,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:200:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:119:1: note: in expansion of macro
> 'SYSCALL_DEFINE5'
>     SYSCALL_DEFINE5(sparc_remap_file_pages, unsigned long, start, unsigned
> long, size,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:211:18: error: 'sys_mmap' alias between functions of
> incompatible types 'long int(long unsigned int,  long unsigned int,  long unsigned
> int,  long unsigned int,  long unsigned int,  long unsigned int)' and 'long int(long int,
> long int,  long int,  long int,  long int,  long int)' [-Werror=attribute-alias]
>      asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:111:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    include/linux/syscalls.h:215:18: note: aliased declaration here
>      asmlinkage long SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
>                      ^~~
>    include/linux/syscalls.h:207:2: note: in expansion of macro
> '__SYSCALL_DEFINEx'
>      __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
>      ^~~~~~~~~~~~~~~~~
>    include/linux/syscalls.h:201:36: note: in expansion of macro
> 'SYSCALL_DEFINEx'
>     #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name,
> __VA_ARGS__)
>                                        ^~~~~~~~~~~~~~~
>    arch/sparc//kernel/sys_sparc_32.c:111:1: note: in expansion of macro
> 'SYSCALL_DEFINE6'
>     SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
>     ^~~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> 
> vim +211 include/linux/syscalls.h
> 
> 609320c8 Yonghong Song       2017-09-07  204
> bed1ffca Frederic Weisbecker 2009-03-13  205  #define SYSCALL_DEFINEx(x,
> sname, ...)				\
> 99e621f7 Al Viro             2013-03-05  206  	SYSCALL_METADATA(sname, x,
> __VA_ARGS__)			\
> bed1ffca Frederic Weisbecker 2009-03-13 @207  	__SYSCALL_DEFINEx(x,
> sname, __VA_ARGS__)
> bed1ffca Frederic Weisbecker 2009-03-13  208
> 2cf09666 Al Viro             2013-01-21  209  #define __PROTECT(...)
> asmlinkage_protect(__VA_ARGS__)
> bed1ffca Frederic Weisbecker 2009-03-13  210  #define __SYSCALL_DEFINEx(x,
> name, ...)					\
> 83460ec8 Andi Kleen          2013-11-12 @211  	asmlinkage long
> sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
> 83460ec8 Andi Kleen          2013-11-12  212
> 	__attribute__((alias(__stringify(SyS##name))));		\
> 07fe6e00 Al Viro             2013-01-21  213  	static inline long
> SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\
> f9597f24 Sergei Trofimovich  2013-09-11  214  	asmlinkage long
> SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__));	\
> 07fe6e00 Al Viro             2013-01-21  215  	asmlinkage long
> SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))	\
> 1a94bc34 Heiko Carstens      2009-01-14  216  	{
> 				\
> 2cf09666 Al Viro             2013-01-21  217  		long ret =
> SYSC##name(__MAP(x,__SC_CAST,__VA_ARGS__));	\
> 07fe6e00 Al Viro             2013-01-21  218
> 	__MAP(x,__SC_TEST,__VA_ARGS__);				\
> 2cf09666 Al Viro             2013-01-21  219  		__PROTECT(x,
> ret,__MAP(x,__SC_ARGS,__VA_ARGS__));	\
> 2cf09666 Al Viro             2013-01-21  220  		return ret;
> 				\
> 1a94bc34 Heiko Carstens      2009-01-14  221  	}
> 				\
> 07fe6e00 Al Viro             2013-01-21  222  	static inline long
> SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))
> 1a94bc34 Heiko Carstens      2009-01-14  223
> 
> :::::: The code at line 211 was first introduced by commit
> :::::: 83460ec8dcac14142e7860a01fa59c267ac4657c syscalls.h: use gcc alias
> instead of assembler aliases for syscalls
> 
> :::::: TO: Andi Kleen <ak@...ux.intel.com>
> :::::: CC: Linus Torvalds <torvalds@...ux-foundation.org>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Powered by blists - more mailing lists