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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to