qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Error during compilation
@ 2005-03-15 15:58 Peter Federighi
  2005-03-15 16:21 ` John R. Hogerhuis
  2005-03-15 22:09 ` Thomas Schwinge
  0 siblings, 2 replies; 5+ messages in thread
From: Peter Federighi @ 2005-03-15 15:58 UTC (permalink / raw)
  To: qemu-devel

Hello.

I recently downloaded Qemu to try it out.  My attempt to compile it ended
up producing the following error:

--- BEGIN OUTPUT ---

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)
                (nil)))))
/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

--- END OUTPUT ---

Normally, I would include a solution to the error, but I have never seen
an error like this and don't really know what to do.  I get the same
problem when trying to compile the latest snapshot as well.  I hope that
this information is useful.

In case it matters, I have the following versions of software:
Linux		2.6.10
GCC		3.4.3
BinUtils	2.13.1
GLibc		2.3.2
GNU Make	3.80

Thank you for your time and effort on Qemu.

- Peter Federighi


The fear of the Lord is the beginning of wisdom,
and knowledge of the Holy One is understanding.
- Proverbs 9:10


		
__________________________________ 
Do you Yahoo!? 
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/ 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Error during compilation
  2005-03-15 15:58 [Qemu-devel] Error during compilation Peter Federighi
@ 2005-03-15 16:21 ` John R. Hogerhuis
  2005-03-15 18:16   ` Derek Fawcus
  2005-03-15 22:09 ` Thomas Schwinge
  1 sibling, 1 reply; 5+ messages in thread
From: John R. Hogerhuis @ 2005-03-15 16:21 UTC (permalink / raw)
  To: qemu-devel

Huh... never seen gcc barf in lisp!

-- John.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Error during compilation
  2005-03-15 16:21 ` John R. Hogerhuis
@ 2005-03-15 18:16   ` Derek Fawcus
  0 siblings, 0 replies; 5+ messages in thread
From: Derek Fawcus @ 2005-03-15 18:16 UTC (permalink / raw)
  To: qemu-devel

On Tue, Mar 15, 2005 at 08:21:49AM -0800, John R. Hogerhuis wrote:
> Huh... never seen gcc barf in lisp!

RTL (back end CPU language) is basically a form of lisp.

DF

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Error during compilation
  2005-03-15 15:58 [Qemu-devel] Error during compilation Peter Federighi
  2005-03-15 16:21 ` John R. Hogerhuis
@ 2005-03-15 22:09 ` Thomas Schwinge
  2005-03-15 23:03   ` Struan Bartlett
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Schwinge @ 2005-03-15 22:09 UTC (permalink / raw)
  To: qemu-devel

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)
>                 (nil)))))
> /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.

Perhaps someone (e.g. you :-) should report it on one of GCC's mailing
lists or through bugzilla (and reduce the code to only contain the
relevant parts before doing so).


Regards,
 Thomas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Qemu-devel] Error during compilation
  2005-03-15 22:09 ` Thomas Schwinge
@ 2005-03-15 23:03   ` Struan Bartlett
  0 siblings, 0 replies; 5+ messages in thread
From: Struan Bartlett @ 2005-03-15 23:03 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 2011 bytes --]

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)
>>                (nil)))))
>>/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.

Struan


[-- Attachment #2: Type: text/html, Size: 2405 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-03-15 23:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-15 15:58 [Qemu-devel] Error during compilation Peter Federighi
2005-03-15 16:21 ` John R. Hogerhuis
2005-03-15 18:16   ` Derek Fawcus
2005-03-15 22:09 ` Thomas Schwinge
2005-03-15 23:03   ` Struan Bartlett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).