* [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).