[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180528150726.GC17342@gate.crashing.org>
Date: Mon, 28 May 2018 10:07:26 -0500
From: Segher Boessenkool <segher@...nel.crashing.org>
To: Christophe Leroy <christophe.leroy@....fr>
Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] powerpc/Makefile: fix build failure by disabling attribute-alias warning
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.
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
Powered by blists - more mailing lists