From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HUThI-0001eI-WD for qemu-devel@nongnu.org; Thu, 22 Mar 2007 16:15:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HUThH-0001dJ-9n for qemu-devel@nongnu.org; Thu, 22 Mar 2007 16:15:44 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HUThG-0001cv-Og for qemu-devel@nongnu.org; Thu, 22 Mar 2007 15:15:42 -0500 Received: from [213.46.243.15] (helo=amsfep18-int.chello.nl) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HUTfQ-0007U9-O3 for qemu-devel@nongnu.org; Thu, 22 Mar 2007 16:13:49 -0400 Received: from [192.168.1.120] (really [80.57.119.9]) by amsfep18-int.chello.nl (InterMail vM.6.01.04.04 201-2131-118-104-20050224) with ESMTP id <20070322201346.WGBD25770.amsfep18-int.chello.nl@[192.168.1.120]> for ; Thu, 22 Mar 2007 21:13:46 +0100 Message-ID: <4602E34C.3000106@gmail.com> Date: Thu, 22 Mar 2007 21:13:00 +0100 From: Sunil Amitkumar Janki MIME-Version: 1.0 Subject: Re: [Qemu-devel] 0.9.0 and svn don't build with -march=pentium2 etc.; was: Latest SVN fails to build on Fedora Core 6 (same with 0.9.0) References: <20070317143730.1befbf94@neuling> <20070318093734.71d9d77d@neuling> <45FD03F0.5000801@bandsman.co.uk> <20070322204629.5552c047@neuling> In-Reply-To: <20070322204629.5552c047@neuling> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 Thomas Orgis wrote: > Am Sun, 18 Mar 2007 09:18:40 +0000 > schrieb Nigel Horne : > > >> The first part is true, the second is not, in that I already upgraded >> to the 686 kernel, so the qemu build on FC6 is not fixed by installing the 686 kernel. >> > > So, do we have any other clue about this? > Some qemu coder knows anything about this error? > > >> /opt/gcc34/bin/gcc -march=pentium2 -Wall -O2 -g -fno-strict-aliasing >> -fomit-frame-pointer -I. -I.. -I/usr/src/qemu-0.9.0/target-i386 >> -I/usr/src/qemu-0.9.0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 >> -D_LARGEFILE_SOURCE -I/usr/src/qemu-0.9.0/fpu -DHAS_AUDIO >> -I/usr/src/qemu-0.9.0/slirp -c -o >> helper.o /usr/src/qemu-0.9.0/target-i386/helper.c ../softmmu_template.h: >> In function `__stq_mmu': ../softmmu_template.h:260: error: unable to >> find a register to spill in class >> `GENERAL_REGS' ../softmmu_template.h:260: error: this is the insn: >> (insn:HI 365 364 366 13 ../softmmu_template.h:290 (parallel [ (set >> (reg:DI 0 ax [216]) (lshiftrt:DI (reg/v:DI 59 [ val ]) (subreg:QI >> (reg:SI 0 ax [215]) 0))) (clobber (scratch:SI)) (clobber (reg:CC 17 >> flags)) ]) 309 {lshrdi3_1} (insn_list 364 (nil)) (expr_list:REG_DEAD >> (reg:SI 0 ax [215]) (expr_list:REG_UNUSED (reg:CC 17 flags) >> (expr_list:REG_UNUSED (scratch:SI) (nil))))) >> ../softmmu_template.h:260: confused by earlier errors, bailing out >> > > It is really persistent with any pentium/athlon march setting above > pentium-mmx and alone with the -msse flag. > If the answer is "Do Not Use GCC Arch Setting" then it would be nice to > have it spelled out by someone else than me... of course I'd prefer > this thing to work;-) > > > Thomas. > > > _______________________________________________ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel > > I have seen this error as well when building with i686/pentium3/athlon optimisations. As I am doing a course on x86 assembly programming at the moment I can tell you that it suffers from register starvation and the message tells you that there aren't enough registers left. That's why I build QEMU on x86 with "-O2 -march=i486 -mtune=i686". I am not a QEMU developer (yet!) but I am using it at the moment to emulate SPARC, ARM and MIPS(EL) to build Linux executables natively in (Slackware) Linux distributions for those architectures. I hope to start contributing to PPC and Alpha emulation when I understand more about QEMU's internal architecture.