OSDN Git Service

MIPS: Fix inline asm input/output type mismatch in checksum.h used with Clang
authorTiezhu Yang <yangtiezhu@loongson.cn>
Wed, 27 Jan 2021 04:41:47 +0000 (12:41 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 27 Jan 2021 20:59:28 +0000 (21:59 +0100)
commit198688edbf77c6fc0e65f5d062f810d83d090166
tree9f8a2a54b7491dfa671a4cc60da2ceeff223d495
parente6a52b8f0f810781e031096442a532fdb179a3cc
MIPS: Fix inline asm input/output type mismatch in checksum.h used with Clang

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@mail.gmail.com/

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/checksum.h