git: 52f6e63ab365 - main - Fix the zfs build for arm64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Jun 2022 13:59:47 UTC
The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=52f6e63ab3656b417d8dd2b905569707c90c9ecf commit 52f6e63ab3656b417d8dd2b905569707c90c9ecf Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2022-06-24 13:16:50 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2022-06-24 13:50:12 +0000 Fix the zfs build for arm64 Remove -mgeneral-regs-only when building the arm64 blake3 code. It uses simd instructions so will use non-general purpose registers. Sponsored by: The FreeBSD Foundation --- sys/conf/files.arm64 | 4 ++-- sys/modules/zfs/Makefile | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 52eb4de5fef3..256b67975092 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -156,8 +156,8 @@ cddl/dev/dtrace/aarch64/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}" cddl/dev/dtrace/aarch64/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}" cddl/dev/fbt/aarch64/fbt_isa.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}" -contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S optional zfs compile-with "${ZFS_S}" -contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S optional zfs compile-with "${ZFS_S}" +contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse2.S optional zfs compile-with "${ZFS_S:N-mgeneral-regs-only}" +contrib/openzfs/module/icp/asm-aarch64/blake3/b3_aarch64_sse41.S optional zfs compile-with "${ZFS_S:N-mgeneral-regs-only}" ## ## ASoC support diff --git a/sys/modules/zfs/Makefile b/sys/modules/zfs/Makefile index 1a6912fb8ebd..9f54e60f6026 100644 --- a/sys/modules/zfs/Makefile +++ b/sys/modules/zfs/Makefile @@ -445,6 +445,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} +b3_aarch64_sse2.o: b3_aarch64_sse2.S + ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ + -o ${.TARGET} + ${CTFCONVERT_CMD} + +b3_aarch64_sse41.o: b3_aarch64_sse41.S + ${CC} -c ${CFLAGS:N-mgeneral-regs-only} ${WERROR} ${.IMPSRC} \ + -o ${.TARGET} + ${CTFCONVERT_CMD} + .endif CFLAGS.zstd.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL} CFLAGS.entropy_common.c+= ${NO_WBITWISE_INSTEAD_OF_LOGICAL}