svn commit: r364777 - head/sys/modules/zfs

Ryan Moeller freqlabs at FreeBSD.org
Tue Aug 25 18:22:31 UTC 2020


Author: freqlabs
Date: Tue Aug 25 18:22:30 2020
New Revision: 364777
URL: https://svnweb.freebsd.org/changeset/base/364777

Log:
  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.

Modified:
  head/sys/modules/zfs/Makefile

Modified: head/sys/modules/zfs/Makefile
==============================================================================
--- head/sys/modules/zfs/Makefile	Tue Aug 25 18:21:13 2020	(r364776)
+++ head/sys/modules/zfs/Makefile	Tue Aug 25 18:22:30 2020	(r364777)
@@ -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


More information about the svn-src-head mailing list