From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Christoph Hellwig <hch@lst.de>
Cc: kbuild test robot <lkp@intel.com>,
kbuild-all@01.org, linux-fsdevel@vger.kernel.org,
"Darrick J. Wong" <darrick.wong@oracle.com>,
viro@zeniv.linux.org.uk, x86@kernel.org
Subject: Re: [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)'
Date: Tue, 29 May 2018 09:20:24 +0200 [thread overview]
Message-ID: <20180529072024.GA21375@kroah.com> (raw)
In-Reply-To: <20180529072001.GA393@lst.de>
On Tue, May 29, 2018 at 09:20:01AM +0200, Christoph Hellwig wrote:
> I'm not seeing anything like this in my i386 builds. Is this
> something new in gcc 8.1? Also it seems deeply hidden in the syscall
> macros, so I might need some help understanding those.
>
> On Tue, May 29, 2018 at 11:12:31AM +0800, kbuild test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git hch.aio
> > head: 89b310a2b28dafbf3958e292785d51b7017da19e
> > commit: 7a074e96dee62586c935c80cecd931431bfdd0be [7/40] aio: implement io_pgetevents
> > config: i386-randconfig-c0-05290848 (attached as .config)
> > compiler: gcc-8 (Debian 8.1.0-3) 8.1.0
> > reproduce:
> > git checkout 7a074e96dee62586c935c80cecd931431bfdd0be
> > # save the attached .config to linux build tree
> > make ARCH=i386
> >
> > All warnings (new ones prefixed by >>):
> >
> > In file included from fs/aio.c:19:
> > include/linux/syscalls.h:233:18: warning: 'sys_io_setup' alias between functions of incompatible types 'long int(unsigned int, aio_context_t *)' and 'long int(long int, long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> > SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:238:18: note: aliased declaration here
> > asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > ^~~~~~~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:212:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1322:1: note: in expansion of macro 'SYSCALL_DEFINE2'
> > SYSCALL_DEFINE2(io_setup, unsigned, nr_events, aio_context_t __user *, ctxp)
> > ^~~~~~~~~~~~~~~
> > >> include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> > SYSCALL_DEFINE6(io_pgetevents,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:238:18: note: aliased declaration here
> > asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > ^~~~~~~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:216:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1931:1: note: in expansion of macro 'SYSCALL_DEFINE6'
> > SYSCALL_DEFINE6(io_pgetevents,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:233:18: warning: 'sys_io_getevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *)' and 'long int(long int, long int, long int, long int, long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> > SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:238:18: note: aliased declaration here
> > asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > ^~~~~~~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:215:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1913:1: note: in expansion of macro 'SYSCALL_DEFINE5'
> > SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:233:18: warning: 'sys_io_cancel' alias between functions of incompatible types 'long int(aio_context_t, struct iocb *, struct io_event *)' and 'long int(long int, long int, long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:238:18: note: aliased declaration here
> > asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > ^~~~~~~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1842:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > SYSCALL_DEFINE3(io_cancel, aio_context_t, ctx_id, struct iocb __user *, iocb,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:233:18: warning: 'sys_io_submit' alias between functions of incompatible types 'long int(aio_context_t, long int, struct iocb **)' and 'long int(long int, long int, long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:238:18: note: aliased declaration here
> > asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \
> > ^~~~~~~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~~~
> > include/linux/syscalls.h:213:36: note: in expansion of macro 'SYSCALL_DEFINEx'
> > #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
> > ^~~~~~~~~~~~~~~
> > fs/aio.c:1767:1: note: in expansion of macro 'SYSCALL_DEFINE3'
> > SYSCALL_DEFINE3(io_submit, aio_context_t, ctx_id, long, nr,
> > ^~~~~~~~~~~~~~~
> > include/linux/syscalls.h:233:18: warning: 'sys_io_destroy' alias between functions of incompatible types 'long int(aio_context_t)' and 'long int(long int)' [-Wattribute-alias]
> > asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
> > ^~~
> > include/linux/syscalls.h:222:2: note: in expansion of macro '__SYSCALL_DEFINEx'
> > __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
I was seeing this type of mess when trying to build with gcc-8.1, and
could not figure it out either. So I just gave up and went back to
gcc-7 for the time being. I don't think it's anything new you did here.
thanks,
greg k-h
next prev parent reply other threads:[~2018-05-29 7:20 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 3:12 [vfs:hch.aio 7/40] include/linux/syscalls.h:233:18: warning: 'sys_io_pgetevents' alias between functions of incompatible types 'long int(aio_context_t, long int, long int, struct io_event *, struct timespec *, const struct __aio_sigset *)' and 'long int(long int, long int, long int, long int, long int, long int)' kbuild test robot
2018-05-29 7:20 ` Christoph Hellwig
2018-05-29 7:20 ` Greg Kroah-Hartman [this message]
2018-05-29 8:05 ` [kbuild-all] " Philip Li
2018-05-29 11:29 ` Matthew Wilcox
2018-05-29 13:00 ` Greg Kroah-Hartman
2018-05-29 14:59 ` Philip Li
2018-05-29 14:58 ` Philip Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180529072024.GA21375@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=darrick.wong@oracle.com \
--cc=hch@lst.de \
--cc=kbuild-all@01.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=viro@zeniv.linux.org.uk \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.