Fix zstd in OpenZFS module with CPUTYPE?=<something with BMI>
The build breaks when something adds -march=<something with BMI> to the compiler flags, for example CPUTYPE?=native. When the arch supports BMI, __BMI__ is defined and zstd.c tries to include immintrin.h, which is not present when building the kernel. Disable experimental BMI intrinsics in zstd in the OpenZFS kernel module by explicitly undefining __BMI__ for zstd.c. A similar fix was needed for the original zstd import, done in r327738. Reported by: Jakob Alvermark Discussed with: mmacy Sponsored by: iXsystems, Inc.
This commit is contained in:
parent
bd8b4c8bbb
commit
dc1d283870
@ -338,7 +338,7 @@ CFLAGS.zil.c= -Wno-cast-qual
|
||||
CFLAGS.zio.c= -Wno-cast-qual
|
||||
CFLAGS.zrlock.c= -Wno-cast-qual
|
||||
CFLAGS.zfs_zstd.c= -Wno-cast-qual -Wno-pointer-arith
|
||||
CFLAGS.zstd.c= -fno-tree-vectorize
|
||||
CFLAGS.zstd.c= -U__BMI__ -fno-tree-vectorize
|
||||
.if ${MACHINE_CPUARCH} == "aarch64"
|
||||
CFLAGS.zstd.c+= -include ${SRCDIR}/zstd/include/aarch64_compat.h
|
||||
.endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user