El 23/02/11 08:49, Nikola Ciprich escribió:
> Hello Avi,
Hi,
> when trying to compile(link) various targets, I get:
>   LINK  sparc-softmmu/qemu-system-sparc
> pci-stub.o: In function `do_pci_info_print':
> /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition 
> of `do_pci_info_print'
> pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here
> /usr/bin/ld: Warning: size of symbol `do_pci_info_print' changed from 147 in 
> pci.o to 50 in pci-stub.o
> pci-stub.o: In function `do_pci_info':
> /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition 
> of `do_pci_info'
> pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here
> /usr/bin/ld: Warning: size of symbol `do_pci_info' changed from 150 in pci.o 
> to 50 in pci-stub.o
> pci.o: In function `pci_update_mappings':
> pci.c:(.text+0xa91): undefined reference to `pci_bridge_get_base'
> pci.c:(.text+0xaa5): undefined reference to `pci_bridge_get_limit'
> pci.c:(.text+0xb7b): undefined reference to `pci_bridge_get_base'
> pci.c:(.text+0xb8e): undefined reference to `pci_bridge_get_limit'
> pci.o: In function `pci_get_devices_list':
> pci.c:(.text+0x2024): undefined reference to `pci_bridge_get_limit'
> pci.c:(.text+0x2036): undefined reference to `pci_bridge_get_base'
> pci.c:(.text+0x2043): undefined reference to `pci_bridge_get_limit'
> pci.c:(.text+0x2050): undefined reference to `pci_bridge_get_base'
> pci.c:(.text+0x2060): undefined reference to `pci_bridge_get_limit'
> pci.c:(.text+0x2070): undefined reference to `pci_bridge_get_base'
> collect2: ld returned 1 exit status
> make[1]: *** [qemu-system-sparc] Error 1
> make: *** [subdir-sparc-softmmu] Error 2
I hit this problem too and after a long night I tracked it back to some
odd merge, this patch solved the issue for me.
2010-11-10      Francisco Blas Izquierdo Riera <klond...@xiscosoft.es>
                Somehow pci.o was added so it was needed on all targets 
breaking NO_PCI ones. This patch intends to fix that

                * Makefile.objs:                Add pci.o back into 
hw-obj-$(CONFIG_PCI)
                * Makefile.target:              Remove pci.o

diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs 
/tmp/aaa/qemu-kvm-0.14.0/Makefile.objs
--- /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs  2011-02-23 06:02:16.818182597 
+0100
+++ /tmp/aaa/qemu-kvm-0.14.0/Makefile.objs      2011-02-23 06:00:35.439182597 
+0100
@@ -170,7 +170,7 @@
 hw-obj-y += loader.o
 hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
 hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci_bridge.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 hw-obj-$(CONFIG_PCI) += msix.o msi.o
 hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target 
/tmp/aaa/qemu-kvm-0.14.0/Makefile.target
--- /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target        2011-02-23 
06:02:16.835182597 +0100
+++ /tmp/aaa/qemu-kvm-0.14.0/Makefile.target    2011-02-23 06:00:35.454182597 
+0100
@@ -195,7 +195,7 @@
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = arch_init.o cpus.o monitor.o pci.o machine.o gdbstub.o vl.o balloon.o
+obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o balloon.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
 obj-$(CONFIG_NO_PCI) += pci-stub.o

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to