]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/Makefile.bsd
Add ashift validation when adding devices to a pool
[mirror_zfs.git] / module / Makefile.bsd
index 365609fb85856ab56d7e3d58da88020614619d7a..e9ad69fc50a2b5bc0652f9860424248acb52be3f 100644 (file)
@@ -252,6 +252,7 @@ SRCS+=      abd.c \
        bqueue.c \
        dataset_kstats.c \
        ddt.c \
+       ddt_stats.c \
        ddt_zap.c \
        dmu.c \
        dmu_diff.c \
@@ -308,7 +309,6 @@ SRCS+=      abd.c \
        uberblock.c \
        unique.c \
        vdev.c \
-       vdev_cache.c \
        vdev_draid.c \
        vdev_draid_rand.c \
        vdev_indirect.c \
@@ -400,6 +400,20 @@ beforeinstall:
 
 .include <bsd.kmod.mk>
 
+# Generated binary search code is particularly bad with this optimization.
+# Oddly, range_tree.c is not affected when unrolling is not done and dsl_scan.c
+# is not affected when unrolling is done.
+# Disable it until the following upstream issue is resolved:
+# https://github.com/llvm/llvm-project/issues/62790
+.if ${CC} == "clang"
+.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "amd64"
+CFLAGS.dsl_scan.c= -mllvm -x86-cmov-converter=false
+CFLAGS.metaslab.c= -mllvm -x86-cmov-converter=false
+CFLAGS.range_tree.c= -mllvm -x86-cmov-converter=false
+CFLAGS.zap_micro.c= -mllvm -x86-cmov-converter=false
+.endif
+.endif
+
 CFLAGS.sysctl_os.c= -include ../zfs_config.h
 CFLAGS.xxhash.c+= -include ${SYSDIR}/sys/_null.h
 
@@ -407,6 +421,7 @@ CFLAGS.gcc+= -Wno-pointer-to-int-cast
 
 CFLAGS.abd.c= -Wno-cast-qual
 CFLAGS.ddt.c= -Wno-cast-qual
+CFLAGS.ddt_zap.c= -Wno-cast-qual
 CFLAGS.dmu.c= -Wno-cast-qual
 CFLAGS.dmu_traverse.c= -Wno-cast-qual
 CFLAGS.dnode.c= ${NO_WUNUSED_BUT_SET_VARIABLE}