From adbffc2074754aff8d806843d9e83443590ce5e0 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 22 Aug 2018 12:21:13 +0200 Subject: [PATCH] fsdev: fix compilation with VIRTIO but not VIRTIO_9P hw/9pfs/Makefile.objs uses CONFIG_VIRTIO_9P to guard the definition for FileOperations structs, while fsdev/Makefile.objs uses CONFIG_VIRTIO to guard the use. Mismatch causes linking to fail when CONFIG_VIRTIO is set but CONFIG_VIRTIO_9P is not. Fix it and use if/else to clarify that the two lines are for opposite conditions. Reported-by: Peter Maydell Fixes: b5dfdb082fc350f3e68dfa61dc988d97cad28cfe Signed-off-by: Paolo Bonzini Reviewed-by: Peter Maydell Acked-by: Greg Kurz Tested-by: Greg Kurz Signed-off-by: Greg Kurz --- fsdev/Makefile.objs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fsdev/Makefile.objs b/fsdev/Makefile.objs index fb38017c0b..24bbb3e75c 100644 --- a/fsdev/Makefile.objs +++ b/fsdev/Makefile.objs @@ -1,7 +1,10 @@ # Lots of the fsdev/9pcode is pulled in by vl.c via qemu_fsdev_add. # only pull in the actual 9p backend if we also enabled virtio or xen. -common-obj-$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o -common-obj-$(call lnot,$(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO),$(CONFIG_XEN)))) = qemu-fsdev-dummy.o +ifeq ($(call land,$(CONFIG_VIRTFS),$(call lor,$(CONFIG_VIRTIO_9P),$(CONFIG_XEN))),y) +common-obj-y = qemu-fsdev.o 9p-marshal.o 9p-iov-marshal.o +else +common-obj-y = qemu-fsdev-dummy.o +endif common-obj-y += qemu-fsdev-opts.o qemu-fsdev-throttle.o # Toplevel always builds this; targets without virtio will put it in