Re: [PATCH] kvm: Fix build error caused by redefinition

From: Paolo Bonzini
Date: Mon Mar 21 2016 - 10:04:31 EST




On 19/03/2016 05:54, Pranith Kumar wrote:
> Build on 32-bit PPC fails with the following error:
>
> int kvm_vfio_ops_init(void)
> ^
> In file included from arch/powerpc/kvm/../../../virt/kvm/vfio.c:21:0:
> arch/powerpc/kvm/../../../virt/kvm/vfio.h:8:90: note: previous definition of âkvm_vfio_ops_initâ was here
> arch/powerpc/kvm/../../../virt/kvm/vfio.c:292:6: error: redefinition of âkvm_vfio_ops_exitâ
> void kvm_vfio_ops_exit(void)
> ^
> In file included from arch/powerpc/kvm/../../../virt/kvm/vfio.c:21:0:
> arch/powerpc/kvm/../../../virt/kvm/vfio.h:12:91: note: previous definition of âkvm_vfio_ops_exitâ was here
> scripts/Makefile.build:258: recipe for target 'arch/powerpc/kvm/../../../virt/kvm/vfio.o' failed
> make[3]: *** [arch/powerpc/kvm/../../../virt/kvm/vfio.o] Error 1
>
> Fix it by enclosing the definitions within CONFIG_KVM_VFIO

Please test this instead:

diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile
index 7f7b6d86ac73..eba0bea6e032 100644
--- a/arch/powerpc/kvm/Makefile
+++ b/arch/powerpc/kvm/Makefile
@@ -8,7 +8,8 @@ ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
KVM := ../../../virt/kvm

common-objs-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
- $(KVM)/eventfd.o $(KVM)/vfio.o
+ $(KVM)/eventfd.o
+common-objs-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o

CFLAGS_e500_mmu.o := -I.
CFLAGS_e500_mmu_host.o := -I.


Paolo