[PATCH 4.4 28/70] arm64: Disable asm-operand-width warning for clang

From: Greg Kroah-Hartman
Date: Mon Nov 26 2018 - 05:54:37 EST


4.4-stable review patch. If anyone has any objections, please let me know.

------------------

From: Matthias Kaehlcke <mka@xxxxxxxxxxxx>

clang raises 'asm-operand-widths' warnings in inline assembly code when
the size of an operand is < 64 bits and the operand width is unspecified.
Most warnings are raised in macros, i.e. the datatype of the operand may
vary.

Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx>

nc: I trimmed the original commit message since I'm not a part of CrOS
and can't speak on their behalf.

To fix these warnings, it requires a fairly intrusive backport of
the sysreg conversion that Mark Rutland did in 4.9. I think
disabling the warning is smarter, similar to commit d41d0fe374d4
("turn off -Wattribute-alias") in this tree.

Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
arch/arm64/Makefile | 4 ++++
1 file changed, 4 insertions(+)

--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -56,6 +56,10 @@ else
TEXT_OFFSET := 0x00080000
endif

+ifeq ($(cc-name),clang)
+KBUILD_CFLAGS += $(call cc-disable-warning, asm-operand-widths)
+endif
+
# KASAN_SHADOW_OFFSET = VA_START + (1 << (VA_BITS - 3)) - (1 << 61)
# in 32-bit arithmetic
KASAN_SHADOW_OFFSET := $(shell printf "0x%08x00000000\n" $$(( \