From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Edw6V-0005GL-8H for qemu-devel@nongnu.org; Sun, 20 Nov 2005 15:48:03 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Edw6U-0005G9-Hy for qemu-devel@nongnu.org; Sun, 20 Nov 2005 15:48:03 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Edw6U-0005G6-Ff for qemu-devel@nongnu.org; Sun, 20 Nov 2005 15:48:02 -0500 Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1Edw6U-0000sM-9y for qemu-devel@nongnu.org; Sun, 20 Nov 2005 15:48:02 -0500 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Edw4k-0003L8-Ab for qemu-devel@nongnu.org; Sun, 20 Nov 2005 21:46:14 +0100 Received: from 209.89.52.96 ([209.89.52.96]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 20 Nov 2005 21:46:14 +0100 Received: from kurtbcox by 209.89.52.96 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 20 Nov 2005 21:46:14 +0100 From: Kurt B Cox Date: Sun, 20 Nov 2005 13:45:01 -0700 Message-ID: References: <4380BE6E.5070100@hermes.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit In-Reply-To: <4380BE6E.5070100@hermes.cam.ac.uk> Sender: news Subject: [Qemu-devel] Re: Compile failure of 0.7.2 with gcc 4.0.1 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 ._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.