Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Aug 2020 18:22:30 +0000 (UTC)
From:      Ryan Moeller <freqlabs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r364777 - head/sys/modules/zfs
Message-ID:  <202008251822.07PIMU7l041584@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008251822.07PIMU7l041584>