On Mon, May 28, 2018 at 5:07 PM, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > On Mon, May 28, 2018 at 02:39:37PM +0000, Christophe Leroy wrote: >> In file included from arch/powerpc/kernel/syscalls.c:24: >> ./include/linux/syscalls.h:233:18: warning: 'sys_mmap2' alias between >> functions of incompatible types 'long int(long unsigned int, size_t, >> long unsigned int, long unsigned int, long unsigned int, long >> unsigned int)' {aka 'long int(long unsigned int, 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)' [-Wattribute-alias] > > So yes, these are actually different (int vs. long). > >> In file included from arch/powerpc/kernel/signal_32.c:29: >> ./include/linux/syscalls.h:233:18: warning: 'sys_swapcontext' alias >> between functions of incompatible types 'long int(struct ucontext *, >> struct ucontext *, long int)' and 'long int(long int, long int, long >> int)' [-Wattribute-alias] > > And this one is quite spectacularly different.
https://patchwork.kernel.org/patch/10375607/ > > Try putting this before the wacko aliases: > > #pragma GCC diagnostic push > #pragma GCC diagnostic ignored "-Wattribute-alias" > > and this after: > > #pragma GCC diagnostic pop > > so that you will get this quite useful warning for all other code. > > > Segher