Re: [PATCH] MIPS: Fix inline asm input/output type mismatch in checksum.h used with Clang

From: Thomas Bogendoerfer
Date: Wed Jan 27 2021 - 16:12:53 EST


On Wed, Jan 27, 2021 at 12:41:47PM +0800, Tiezhu Yang wrote:
> Fix the following build error when make M=samples/bpf used with Clang:
>
> CLANG-bpf samples/bpf/sockex2_kern.o
> In file included from samples/bpf/sockex2_kern.c:7:
> In file included from ./include/uapi/linux/if_tunnel.h:7:
> In file included from ./include/linux/ip.h:16:
> In file included from ./include/linux/skbuff.h:28:
> In file included from ./include/net/checksum.h:22:
> ./arch/mips/include/asm/checksum.h:161:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
> : "0" ((__force unsigned long)daddr),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
>
> This is a known issue on MIPS [1], the changed code can be compiled
> successfully by both GCC and Clang.
>
> [1] https://lore.kernel.org/linux-mips/CAG_fn=W0JHf8QyUX==+rQMp8PoULHrsQCa9Htffws31ga8k-iw@xxxxxxxxxxxxxx/
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
> arch/mips/include/asm/checksum.h | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)

applied to mips-next.

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]