diff --git a/module/Kbuild.in b/module/Kbuild.in index ad469e129221..69bbba40a3ef 100644 --- a/module/Kbuild.in +++ b/module/Kbuild.in @@ -57,9 +57,19 @@ asflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS) ccflags-y := $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS) ifeq ($(CONFIG_ARM64),y) + +CFLAGS_REMOVE_zfs/zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only +CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only +CFLAGS_REMOVE_zfs/vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only + +CFLAGS_REMOVE_zcommon/zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only +CFLAGS_REMOVE_zcommon/vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only +CFLAGS_REMOVE_zcommon/vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only + CFLAGS_REMOVE_zfs_fletcher_aarch64_neon.o = -mgeneral-regs-only CFLAGS_REMOVE_vdev_raidz_math_aarch64_neon.o = -mgeneral-regs-only CFLAGS_REMOVE_vdev_raidz_math_aarch64_neonx2.o = -mgeneral-regs-only + endif # Suppress unused-value warnings in sparc64 architecture headers @@ -489,8 +499,10 @@ zfs-objs += $(addprefix zfs/,$(ZFS_OBJS)) $(addprefix os/linux/zfs/,$ zfs-$(CONFIG_X86) += $(addprefix zfs/,$(ZFS_OBJS_X86)) zfs-$(CONFIG_UML_X86)+= $(addprefix zfs/,$(ZFS_OBJS_X86)) zfs-$(CONFIG_ARM64) += $(addprefix zfs/,$(ZFS_OBJS_ARM64)) +ifeq ($(CONFIG_ALTIVEC),y) zfs-$(CONFIG_PPC) += $(addprefix zfs/,$(ZFS_OBJS_PPC_PPC64)) zfs-$(CONFIG_PPC64) += $(addprefix zfs/,$(ZFS_OBJS_PPC_PPC64)) +endif # Suppress incorrect warnings from versions of objtool which are not # aware of x86 EVEX prefix instructions used for AVX512.