Skip to Content.
Sympa Menu

sm-commit - Re: [SM-Commit] GIT changes to master grimoire by Eric Sandall (aff4f11fdf112e0a08ca96001cbf71e0a4ca7201)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Eric Sandall <eric AT sandall.us>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: Re: [SM-Commit] GIT changes to master grimoire by Eric Sandall (aff4f11fdf112e0a08ca96001cbf71e0a4ca7201)
  • Date: Sat, 17 Feb 2007 11:10:56 -0800

On Saturday 17 February 2007 04:18:56 Thomas Orgis wrote:
> Am Sat, 17 Feb 2007 11:46:22 +0100
>
> schrieb Jaka Kranjc <lynx AT mages.ath.cx>:
> > On Saturday 17 of February 2007 11:27:57 Thomas Orgis wrote:
> > > Am Fri, 16 Feb 2007 16:00:17 -0600
> > >
> > > schrieb Eric Sandall <scm AT mail.sourcemage.org>:
> > > > Updated to 0.9.0 (though softmmu targets do not seem to work)
> > >
> > > So, in other words ... it's useless now for any vm usage?!
> >
> > It may work for you, it worked for dkowis ...
>
> It seems to be a matter of CFLAGS is this special 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
>
> is very known from the past... it occurs in qemu with certain gcc and
> certain CFLAGs from time to time...
> It seems to be helper.c all the time.
> I found one gcc regression bug about this and one comment is about the
> test case (and in turn perhaps qemu code) being insane to waste
> registers on x86 where you have hardly any of them.
> Anyhow... I've observed that is is a matter of CFLAGS for me.
> -march=pentium-m fails, as does pentium2 and pentium3,
> Just -msse fails, too. -march=pentium and pentium-mmx works.
>
> So, stripping -msse* and -march off CFLAGS (or even replacing pentium*
> with pentium-mmx) could be one crude hack to make it work.
> Of course one doesn't like to drop possible optmizations on something
> like qemu... but, well, does -march and -msse actually have influence
> on the result?
> I'll see if I finaly dig up some comment from the qemu author about
> this issue and why he obviously didn't change the code to circumvent
> the prob.

I found that gcc bug as well, but they didn't mention a fix. :/

-sandalle

--
Eric Sandall | Source Mage GNU/Linux Developer
eric at sandall.us PGP: 0xA8EFDD61 | http://www.sourcemage.org/
http://eric.sandall.us/ | http://counter.li.org/ #196285

Attachment: pgpNRqpvl4KMy.pgp
Description: PGP signature




Archive powered by MHonArc 2.6.24.

Top of Page