[Top][All Lists]

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

Re: [Qemu-devel] Error during compilation

From: Struan Bartlett
Subject: Re: [Qemu-devel] Error during compilation
Date: Wed, 16 Mar 2005 00:03:17 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041007 Debian/1.7.3-5

Thomas Schwinge wrote:
On Tue, Mar 15, 2005 at 07:57:55AM -0800, Peter Federighi wrote:
gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I.
-I/usr/src/qemu-0.6.1/target-i386 -I/usr/src/qemu-0.6.1 -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/usr/src/qemu-0.6.1/slirp -c
-o helper.o /usr/src/qemu-0.6.1/target-i386/helper.c
/usr/src/qemu-0.6.1/softmmu_template.h: In function `__stq_mmu':
/usr/src/qemu-0.6.1/softmmu_template.h:223: error: unable to find a
register to spill in class `GENERAL_REGS'
/usr/src/qemu-0.6.1/softmmu_template.h:223: error: this is the insn:
(insn:HI 315 314 316 13 /usr/src/qemu-0.6.1/softmmu_template.h:252
(parallel [
            (set (reg:DI 0 ax [194])
                (lshiftrt:DI (reg/v:DI 59 [ val ])
                    (subreg:QI (reg:SI 0 ax [193]) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 306 {lshrdi3_1} (insn_list 314 (nil))
    (expr_list:REG_DEAD (reg:SI 0 ax [193])
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (expr_list:REG_UNUSED (scratch:SI)
/usr/src/qemu-0.6.1/softmmu_template.h:223: confused by earlier errors,
bailing out
make[1]: *** [helper.o] Error 1
make[1]: Leaving directory `/usr/src/qemu-0.6.1/i386'
make: *** [all] Error 1

I'm getting the same error when having '-march=athlon-xp' in my $CFLAGS
(and forcing qemu to use those).  Replacing that with '-march=pentium'
fixes the issue for me.
I got the same error compiling QEMU with -march=pentium3, but only on op.c and helper.c. All other files compiled fine with that option. Those two files compiled fine with -march=pentium.

Is it a bug? I idly speculated that the register selection method might be different for different archs and that, because these files might demand certain registers be used for certain purposes, the compiler might simple be "unable to find a register" for its needs.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]