mirror of
https://github.com/torvalds/linux.git
synced 2026-10-16 21:00:02 +02:00
Use if_changed_rule so rule_cc_o_c runs cmd_save_c_flags for the kunit
objects. Without the saved flags CONFIG_LTO_CLANG_THIN_DIST runs the
ThinLTO backend with no --target and generates x86_64 code from arm64
bitcode.
Fixes: 1dd4187f53 ("iommupt: Add a kunit test for Generic Page Table")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202610110841.120JzAJG-lkp@intel.com/
Assisted-by: LLM
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
31 lines
890 B
Makefile
31 lines
890 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_AMDV1) += amdv1
|
|
iommu_pt_fmt-$(CONFIG_IOMMUFD_TEST) += mock
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_VTDSS) += vtdss
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_RISCV64) += riscv64
|
|
|
|
iommu_pt_fmt-$(CONFIG_IOMMU_PT_X86_64) += x86_64
|
|
|
|
IOMMU_PT_KUNIT_TEST :=
|
|
define create_format
|
|
obj-$(2) += iommu_$(1).o
|
|
iommu_pt_kunit_test-y += kunit_iommu_$(1).o
|
|
CFLAGS_kunit_iommu_$(1).o += -DGENERIC_PT_KUNIT=1
|
|
IOMMU_PT_KUNIT_TEST := iommu_pt_kunit_test.o
|
|
|
|
endef
|
|
|
|
$(eval $(foreach fmt,$(iommu_pt_fmt-y),$(call create_format,$(fmt),y)))
|
|
$(eval $(foreach fmt,$(iommu_pt_fmt-m),$(call create_format,$(fmt),m)))
|
|
|
|
# The kunit objects are constructed by compiling the main source
|
|
# with -DGENERIC_PT_KUNIT
|
|
$(obj)/kunit_iommu_%.o: $(src)/iommu_%.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_rule,cc_o_c)
|
|
|
|
obj-$(CONFIG_IOMMU_PT_KUNIT_TEST) += $(IOMMU_PT_KUNIT_TEST)
|