Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | [PATCH] x86/asm: fix gcc-5 enqcmds() build failure | Date | Mon, 2 Aug 2021 16:53:42 +0200 |
| |
From: Arnd Bergmann <arnd@arndb.de>
Building drivers/dma/idxd/submit.o with gcc-5.5 results in a cryptic error messages:
arch/x86/include/asm/special_insns.h: Assembler messages: arch/x86/include/asm/special_insns.h:286: Error: operand size mismatch for `setz' make[5]: *** [scripts/Makefile.build:272: drivers/dma/idxd/submit.o] Error 1
It seems that this happens for 32-bit arguments when the instruction expects an 8-bit argument. Change the type of the local variable accordingly to get a clean build.
Fixes: 7f5933f81bd8 ("x86/asm: Add an enqcmds() wrapper for the ENQCMDS instruction") Fixes: 8e50d392652f ("dmaengine: idxd: Add shared workqueue support") # guessed Signed-off-by: Arnd Bergmann <arnd@arndb.de> --- arch/x86/include/asm/special_insns.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index f3fbb84ff8a7..33264839f99e 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -275,7 +275,7 @@ static inline int enqcmds(void __iomem *dst, const void *src) { const struct { char _[64]; } *__src = src; struct { char _[64]; } __iomem *__dst = dst; - int zf; + u8 zf; /* * ENQCMDS %(rdx), rax -- 2.29.2
| |