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
5e6a7bc6c1
commit
4d5d720178
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364777
@ -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…
Reference in New Issue
Block a user