qemu-kvm 0.12.1.1 multiple definition of mulu64 and muls64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

After adding dummy kvm_save_mpstate change from git I would compile all
softmmu targets as expected. Although I found another problem. I cannot
compile some `user' targets:

Target i386-linux-user: failure
Target x86_64-linux-user: failure
Target alpha-linux-user: failure
Target arm-linux-user: failure
Target armeb-linux-user: failure
Target cris-linux-user: failure
Target m68k-linux-user: failure
Target mips-linux-user: failure
Target mipsel-linux-user: failure
Target ppc-linux-user: failure
Target ppc64-linux-user: failure
Target ppc64abi32-linux-user: failure
Target sh4-linux-user: failure
Target sh4eb-linux-user: failure
Target sparc-linux-user: failure
Target sparc64-linux-user: failure
Target sparc32plus-linux-user: failure


All of them failed with:

rm -f libqemu.a && ar rcs libqemu.a exec.o cpu-exec.o translate-all.o translate.o tcg/tcg.o fpu/softfloat-native.o op_helper.o helper.o disas.o i386-dis.o
gcc -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/slirp -m32 -Wold-style-definition -Wold-style-declaration -I. -I/home/users/build/rpmbuild/BUILD/qemu-k
vm-0.12.1.1 -U_FORTIFY_SOURCE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wendif-labels -Wwrit
e-strings -Wmissing-prototypes -fno-strict-aliasing  -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/fpu -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1
.1/tcg -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/tcg/i386  -I.. -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/target-i386 -DNEED_CPU_H -I/home
/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/linux-user -I/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/linux-user/x86_64 -O2 -g   -Wl,--warn-common -m32
-g  -Wl,-T../config-host.ld -Wl,-T,/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/i386.ld  -o qemu-x86_64 main.o syscall.o strace.o mmap.o signal.o thunk.o
elfload.o linuxload.o uaccess.o gdbstub.o host-utils.o ioport-user.o -Wl,--whole-archive ../libuser/libuser.a libqemu.a -Wl,--no-whole-archive -lrt -lpthread  -
lm
../libuser/libuser.a(host-utils.o): In function `mulu64':
/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/host-utils.c:77: multiple definition of `mulu64'
host-utils.o:/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/host-utils.c:77: first defined here
../libuser/libuser.a(host-utils.o): In function `muls64':
/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/host-utils.c:87: multiple definition of `muls64'
host-utils.o:/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/host-utils.c:87: first defined here
collect2: ld returned 1 exit status
make[1]: *** [qemu-x86_64] Error 1
make[1]: Leaving directory `/home/users/build/rpmbuild/BUILD/qemu-kvm-0.12.1.1/x86_64-linux-user'
make: *** [subdir-x86_64-linux-user] Error 2


Following patch fixes the problem:


diff -ruN qemu-kvm-0.12.1.1/Makefile.target qemu-kvm-0.12.1.1.test/Makefile.target
--- qemu-kvm-0.12.1.1/Makefile.target   2009-12-22 09:55:14.000000000 +0000
+++ qemu-kvm-0.12.1.1.test/Makefile.target      2009-12-26 20:42:05.983571846 +0000
@@ -101,7 +101,6 @@
 QEMU_CFLAGS+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ABI_DIR)
 obj-y = main.o syscall.o strace.o mmap.o signal.o thunk.o \
       elfload.o linuxload.o uaccess.o gdbstub.o
-obj-y += host-utils.o

 obj-$(TARGET_HAS_BFLT) += flatload.o
 obj-$(TARGET_HAS_ELFLOAD32) += elfload32.o


-- 
best regards
q#
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux