]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/Makefile.bsd
ddt_zap: standardise temp buffer allocations
[mirror_zfs.git] / module / Makefile.bsd
index 6676787967796f4cce15b61cac5c7d1a449c0166..0c4d8bfe11597c0e0f7a8fc13c06b10a09087917 100644 (file)
@@ -33,11 +33,11 @@ KMOD=       openzfs
        ${SRCDIR}/zstd/lib/decompress
 
 CFLAGS+= -I${INCDIR}
+CFLAGS+= -I${SRCDIR}/icp/include
 CFLAGS+= -I${INCDIR}/os/freebsd
 CFLAGS+= -I${INCDIR}/os/freebsd/spl
 CFLAGS+= -I${INCDIR}/os/freebsd/zfs
 CFLAGS+= -I${SRCDIR}/zstd/include
-CFLAGS+= -I${SRCDIR}/icp/include
 CFLAGS+= -include ${INCDIR}/os/freebsd/spl/sys/ccompile.h
 CFLAGS+= -I${.CURDIR}
 
@@ -243,6 +243,7 @@ SRCS+=      abd.c \
        blkptr.c \
        bplist.c \
        bpobj.c \
+       brt.c \
        btree.c \
        cityhash.c \
        dbuf.c \
@@ -307,7 +308,6 @@ SRCS+=      abd.c \
        uberblock.c \
        unique.c \
        vdev.c \
-       vdev_cache.c \
        vdev_draid.c \
        vdev_draid_rand.c \
        vdev_indirect.c \
@@ -399,6 +399,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
 
@@ -506,6 +520,16 @@ CFLAGS.zstd_lazy.c+= ${__ZFS_ZSTD_AARCH64_FLAGS}
 CFLAGS.zstd_ldm.c+= ${__ZFS_ZSTD_AARCH64_FLAGS}
 CFLAGS.zstd_opt.c+= ${__ZFS_ZSTD_AARCH64_FLAGS}
 
+sha256-armv8.o: sha256-armv8.S
+       ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \
+            -o ${.TARGET}
+       ${CTFCONVERT_CMD}
+
+sha512-armv8.o: sha512-armv8.S
+       ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \
+            -o ${.TARGET}
+       ${CTFCONVERT_CMD}
+
 b3_aarch64_sse2.o: b3_aarch64_sse2.S
        ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \
             -o ${.TARGET}