qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] build failure on x86, any suggestions?


From: C.W. Betts
Subject: Re: [Qemu-devel] build failure on x86, any suggestions?
Date: Wed, 19 Mar 2008 14:36:44 -0600
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

On Sunday 16 March 2008 10:20:30 am Blue Swirl wrote:

> On 3/16/08, Peter Volkov <address@hidden> wrote:

> > В Вск, 16/03/2008 в 00:01 -0600, C.W. Betts пишет:

> > > Try setting the compiler flags to use -march=pentium-mmx . That is the

> > > max

> > >

> > > setting for -march that qemu compiles on. also, make sure that the

> > > compiler isn't sending any of the -msse functions.

> > >

> > > I tried to build qemu using -msse -march=pentium3 and it spat out the

> > > same thing.

> >

> > Well with -march=pentium-mmx it works, although it occurs that

> > $ export CFLAGS="-march=pentium-mmx"

> > is not enough. I have to path CFLAGS to make with

> > $ emake OS_CFLAGS="${CFLAGS}"

> > CFLAGS are prefixed at the beginning of the compilation command ands

> > seems that -g -O2 which will go later redefine something which in turn

> > cause the build to fail and OS_CFLAGS passes -march after -g -O2.

> >

> > Also strange thing is that if I try to disable all sse thing in compiler

> > appending -mno-sse{,2,3} -mfpmath=387 qemu does not builds. Either I

> > miss something or sse is not the only problem.

> >

> > Two patches suggested here by Alexander and Blue did no difference here.

>

> Please try this patch and if it fails, report also the compiler error

> message.

>

> I'm trying to find the range of instructions that need to be converted

> to TCG helpers.

Okay, the patch makes op.c and translate.c compile. I did have a problem with trying to get the makefile to compile op.c with the additional flags, but I worked around it.

However, now the helper.c file spits out:

gcc-3.4 -fomit-frame-pointer -I. -I.. -I/home/test/makestuff/qemu-patched/target-i386 -I/home/test/makestuff/qemu-patched -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/test/makestuff/qemu-patched/tcg -I/home/test/makestuff/qemu-patched/tcg/i386 -I/home/test/makestuff/qemu-patched/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/test/makestuff/qemu-patched/slirp -mfpmath=sse -march=pentium3 -msse -Wall -O2 -g -fno-strict-aliasing -mfpmath=sse -march=pentium3 -msse -m32 -c -o helper.o /home/test/makestuff/qemu-patched/target-i386/helper.c

/home/test/makestuff/qemu-patched/target-i386/helper.c: In function `svm_check_intercept_param':

/home/test/makestuff/qemu-patched/target-i386/helper.c:4375: error: unable to find a register to spill in class `GENERAL_REGS'

/home/test/makestuff/qemu-patched/target-i386/helper.c:4375: error: this is the insn:

(insn:HI 353 352 354 39 /home/test/makestuff/qemu-patched/target-i386/helper.c:4368 (parallel [

(set (reg:DI 167 [ <variable>.intercept ])

(lshiftrt:DI (reg:DI 167 [ <variable>.intercept ])

(subreg:QI (reg:SI 166) 0)))

(clobber (scratch:SI))

(clobber (reg:CC 17 flags))

]) 309 {lshrdi3_1} (insn_list 351 (insn_list 352 (nil)))

(expr_list:REG_DEAD (reg:SI 166)

(expr_list:REG_UNUSED (reg:CC 17 flags)

(expr_list:REG_UNUSED (scratch:SI)

(nil)))))

/home/test/makestuff/qemu-patched/target-i386/helper.c:4375: confused by earlier errors, bailing out

make: *** [helper.o] Error 1

This is only on the i386 target. When I compile the x86_64 target, it works just fine.

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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