linux/arch
Nathan Chancellor 0738c8b591 arm64/neon: Disable -Wincompatible-pointer-types when building with Clang
After commit cc9f8349cb ("arm64: crypto: add NEON accelerated XOR
implementation"), Clang builds for arm64 started failing with the
following error message.

arch/arm64/lib/xor-neon.c:58:28: error: incompatible pointer types
assigning to 'const unsigned long *' from 'uint64_t *' (aka 'unsigned
long long *') [-Werror,-Wincompatible-pointer-types]
                v3 = veorq_u64(vld1q_u64(dp1 +  6), vld1q_u64(dp2 + 6));
                                         ^~~~~~~~
/usr/lib/llvm-9/lib/clang/9.0.0/include/arm_neon.h:7538:47: note:
expanded from macro 'vld1q_u64'
  __ret = (uint64x2_t) __builtin_neon_vld1q_v(__p0, 51); \
                                              ^~~~

There has been quite a bit of debate and triage that has gone into
figuring out what the proper fix is, viewable at the link below, which
is still ongoing. Ard suggested disabling this warning with Clang with a
pragma so no neon code will have this type of error. While this is not
at all an ideal solution, this build error is the only thing preventing
KernelCI from having successful arm64 defconfig and allmodconfig builds
on linux-next. Getting continuous integration running is more important
so new warnings/errors or boot failures can be caught and fixed quickly.

Link: https://github.com/ClangBuiltLinux/linux/issues/283
Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2019-02-18 10:54:47 +00:00
..
alpha alpha: fix page fault handling for r16-r18 targets 2019-02-10 20:42:23 -08:00
arc
arm A somewhat bigger ARM update, and the usual smattering 2019-02-17 08:28:49 -08:00
arm64 arm64/neon: Disable -Wincompatible-pointer-types when building with Clang 2019-02-18 10:54:47 +00:00
c6x arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
csky csky: Fixup dead loop in show_stack 2019-02-13 09:48:14 +08:00
h8300 arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
hexagon arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
ia64
m68k for-linus-20190209 2019-02-09 10:26:09 -08:00
microblaze arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
mips mips: cm: reprime error cause 2019-02-07 11:55:24 -08:00
nds32
nios2
openrisc arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
parisc
powerpc powerpc fixes for 5.0 #5 2019-02-17 08:36:21 -08:00
riscv Revert "RISC-V: Make BSS section as the last section in vmlinux.lds.S" 2019-02-11 15:24:45 -08:00
s390 Revert "s390/pci: remove bit_lock usage in interrupt handler" 2019-02-07 11:56:29 +01:00
sh
sparc
um
unicore32 arch: unexport asm/shmparam.h for all architectures 2019-02-01 15:46:22 -08:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-02-17 08:44:38 -08:00
xtensa xtensa: SMP: limit number of possible CPUs by NR_CPUS 2019-01-27 10:04:30 -08:00
.gitignore
Kconfig