Richard Neill wrote:
Dear All,
I thought you might like to know the following:
Neither Qemu 0.7.2 nor 0.7.1 will compile under gcc 4.0.1, which is the
default under Mandrake 2006. It works fine with the older 3.3.6 though.
Here are the relevant bits of the output. I've cut all the irrelvant
bits, but I'm including the warnings in case they are useful. However,
the important bit is near the end. (I've separated the paragraph for
clarity.) The actual error is this:
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h:574:
error: unable to find a register to spill in class 'GENERAL_REGS'
Hope that's useful.
Best wishes,
Richard
---------------------------------------------------------
dyngen.c: In function 'load_object':
dyngen.c:508: warning: pointer targets in assignment differ in signedness
dyngen.c:544: warning: pointer targets in assignment differ in signedness
gcc -DQEMU_TOOL -Wall -O2 -g -fno-strict-aliasing -g -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -o qemu-img qemu-img.c
block.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c
block-dmg.c block-bochs.c block-vpc.c block-vvfat.c -lz
block-cloop.c: In function 'cloop_read_block':
block-cloop.c:116: warning: pointer targets in assignment differ in
signedness
block-cloop.c:118: warning: pointer targets in assignment differ in
signedness
block-dmg.c: In function 'dmg_read_chunk':
block-dmg.c:231: warning: pointer targets in assignment differ in
signedness
block-dmg.c:233: warning: pointer targets in assignment differ in
signedness
block-vpc.c: In function 'vpc_probe':
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'__builtin_strcmp' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'strlen' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'__builtin_strcmp' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'__builtin_strcmp' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'__builtin_strcmp' differ in signedness
block-vpc.c:84: warning: pointer targets in passing argument 1 of
'strncmp' differ in signedness
block-vvfat.c: In function 'create_long_filename':
block-vvfat.c:325: warning: pointer targets in passing argument 1 of
'short2long_name' differ in signedness
block-vvfat.c: In function 'fat_get':
block-vvfat.c:393: warning: pointer targets in initialization differ in
signedness
block-vvfat.c: In function 'long2unix_name':
block-vvfat.c:446: warning: pointer targets in passing argument 1 of
'__builtin_strncpy' differ in signedness
block-vvfat.c:446: warning: pointer targets in passing argument 2 of
'__builtin_strncpy' differ in signedness
block-vvfat.c:453: warning: pointer targets in passing argument 1 of
'__builtin_strncpy' differ in signedness
block-vvfat.c:453: warning: pointer targets in passing argument 2 of
'__builtin_strncpy' differ in signedness
block-vvfat.c: In function 'create_short_filename':
block-vvfat.c:492: warning: pointer targets in passing argument 1 of
'__builtin_strncpy' differ in signedness
block-vvfat.c: In function 'init_directory':
block-vvfat.c:719: warning: pointer targets in passing argument 1 of
'snprintf' differ in signedness
block-vvfat.c: In function 'vvfat_write':
block-vvfat.c:1620: warning: pointer targets in passing argument 1 of
'long2unix_name' differ in signedness
for d in i386-user arm-user armeb-user sparc-user ppc-user i386-softmmu
ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu; do \
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c: In function
'load_elf_binary':
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:948: warning:
pointer targets in passing argument 1 of 'strncmp' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of 'strlen' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of '__builtin_strcmp' differ in
signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/elfload.c:1086: warning:
pointer targets in passing argument 1 of 'strncmp' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c: In function
'do_getsockopt':
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:647: warning:
pointer targets in passing argument 5 of 'getsockopt' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:680: warning:
pointer targets in passing argument 5 of 'getsockopt' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c: In function
'do_syscall':
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:1750: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:1784: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:1870: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:1871: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2301: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2302: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2303: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2304: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2305: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2306: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2307: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2308: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2309: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2310: warning:
pointer targets in passing argument 1 of 'tswap32s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2630: warning:
pointer targets in passing argument 1 of 'tswap64s' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2934: warning:
pointer targets in passing argument 1 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2934: warning:
pointer targets in passing argument 2 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2934: warning:
pointer targets in passing argument 3 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2954: warning:
pointer targets in passing argument 1 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2954: warning:
pointer targets in passing argument 2 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:2954: warning:
pointer targets in passing argument 3 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3061: warning:
pointer targets in passing argument 1 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3061: warning:
pointer targets in passing argument 2 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3061: warning:
pointer targets in passing argument 3 of 'getresuid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3079: warning:
pointer targets in passing argument 1 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3079: warning:
pointer targets in passing argument 2 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/linux-user/syscall.c:3079: warning:
pointer targets in passing argument 3 of 'getresgid' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/exec.c: In function 'cpu_set_log':
/home/cvsp2/qemu-test/qemu-0.7.2/exec.c:1257: warning: pointer targets
in passing argument 2 of 'setvbuf' differ in signedness
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h: In function
'op_pshufw_mmx':
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h:574: error:
unable to find a register to spill in class 'GENERAL_REGS'
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h:574: error: this
is the insn:
(insn:HI 18 17 19 0
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h:569 (set
(strict_low_part (subreg:HI (reg/v:DI 63 [ r ]) 0))
(mem/s/j:HI (plus:SI (mult:SI (reg:SI 64)
(const_int 2 [0x2]))
(reg/v/f:SI 59 [ s ])) [0 <variable>._w S2 A16])) 41
{*movstricthi_1} (insn_list:REG_DEP_TRUE 16 (insn_list:REG_DEP_TRUE 12
(insn_list:REG_DEP_TRUE 53 (nil))))
(expr_list:REG_DEAD (reg:SI 64)
(nil)))
/home/cvsp2/qemu-test/qemu-0.7.2/target-i386/ops_sse.h:574: confused by
earlier errors, bailing out
make[1]: *** [op.o] Error 1
make[1]: Leaving directory `/home/cvsp2/qemu-test/qemu-0.7.2/i386-user'
make: *** [all] Error 1
Gwenole has some gcc4 patches that work for gcc 4.0.3 on my system.
Check out his post on 2005/11/04.
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel