* [Qemu-devel] Which compiler to use to compile current SVN
@ 2008-04-28 13:08 Brad Campbell
2008-04-28 19:49 ` Thiemo Seufer
0 siblings, 1 reply; 7+ messages in thread
From: Brad Campbell @ 2008-04-28 13:08 UTC (permalink / raw)
To: qemu-devel
G'day all,
I can't get current SVN to compile at all here (same problem with regard to register spill other
people are seeing). I applied Blue Swirls patches (as seen here
http://lists.gnu.org/archive/html/qemu-devel/2008-03/msg00320.html) and cleaned up the rejects, but
I just get stumped further on...
gcc-3.4 -fomit-frame-pointer -I. -I.. -I/tracks/src/src/qemu.new/target-i386
-I/tracks/src/src/qemu.new -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg -I/tracks/src/src/qemu.new/tcg/i386
-I/tracks/src/src/qemu.new/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/tracks/src/src/qemu.new/slirp
-march=pentium-mmx -Wall -O2 -g -fno-strict-aliasing -m32 -c -o helper.o
/tracks/src/src/qemu.new/target-i386/helper.c
/tracks/src/src/qemu.new/target-i386/ops_sse.h: In function `helper_pshufw_mmx':
/tracks/src/src/qemu.new/target-i386/ops_sse.h:586: error: unable to find a register to spill in
class `GENERAL_REGS'
/tracks/src/src/qemu.new/target-i386/ops_sse.h:586: error: this is the insn:
(insn:HI 20 19 21 0 /tracks/src/src/qemu.new/target-i386/ops_sse.h:581 (set (strict_low_part
(subreg:HI (reg/v:DI 60 [ r ]) 0))
(mem/s/j:HI (plus:SI (mult:SI (reg:SI 64)
(const_int 2 [0x2]))
(reg/v/f:SI 62 [ s ])) [0 <variable>._w S2 A16])) 54 {*movstricthi_1} (insn_list 18
(insn_list 14 (insn_list 52 (nil))))
(expr_list:REG_DEAD (reg:SI 64)
(nil)))
/tracks/src/src/qemu.new/target-i386/ops_sse.h:586: confused by earlier errors, bailing out
make[1]: *** [helper.o] Error 1
make[1]: Leaving directory `/tracks/src/src/qemu.new/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2
brad@bklaptop2:~$ gcc --version
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
brad@bklaptop2:~$ gcc-3.4 --version
gcc-3.4 (GCC) 3.4.6 (Ubuntu 3.4.6-6ubuntu3)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I'll download and compile a specific compiler if there is one guaranteed to compile cleanly (or even
work at all). What compilers are the major developers using that actually function?
Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-28 13:08 [Qemu-devel] Which compiler to use to compile current SVN Brad Campbell
@ 2008-04-28 19:49 ` Thiemo Seufer
2008-04-30 7:08 ` Brad Campbell
0 siblings, 1 reply; 7+ messages in thread
From: Thiemo Seufer @ 2008-04-28 19:49 UTC (permalink / raw)
To: qemu-devel
Brad Campbell wrote:
> G'day all,
>
> I can't get current SVN to compile at all here (same problem with regard
> to register spill other people are seeing). I applied Blue Swirls patches
> (as seen here
> http://lists.gnu.org/archive/html/qemu-devel/2008-03/msg00320.html) and
> cleaned up the rejects, but I just get stumped further on...
>
> gcc-3.4 -fomit-frame-pointer -I. -I..
> -I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new -MMD
> -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
> -I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu
> -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/tracks/src/src/qemu.new/slirp
> -march=pentium-mmx -Wall -O2 -g -fno-strict-aliasing -m32 -c -o helper.o
^^^^^^^^^^^^^^^^^^
Too much optimization. IIRC a known problem, -march needs to be a pre-MMX
cpu.
Thiemo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-28 19:49 ` Thiemo Seufer
@ 2008-04-30 7:08 ` Brad Campbell
2008-04-30 9:32 ` Thiemo Seufer
0 siblings, 1 reply; 7+ messages in thread
From: Brad Campbell @ 2008-04-30 7:08 UTC (permalink / raw)
To: qemu-devel
Thiemo Seufer wrote:
>> gcc-3.4 -fomit-frame-pointer -I. -I..
>> -I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new -MMD
>> -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
>> -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
>> -I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu
>> -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/tracks/src/src/qemu.new/slirp
>> -march=pentium-mmx -Wall -O2 -g -fno-strict-aliasing -m32 -c -o helper.o
> ^^^^^^^^^^^^^^^^^^
>
> Too much optimization. IIRC a known problem, -march needs to be a pre-MMX
> cpu.
So I'd believed.. however, I've tried -march=[i386,i486,i586,i686,pentium,pentium-mmx] ...
gcc-3.4 -I. -I.. -I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new -MMD -MP
-DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
-I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE
-I/tracks/src/src/qemu.new/slirp -march=i386 -Wall -O2 -g -fno-strict-aliasing -m32 -c -o kqemu.o
/tracks/src/src/qemu.new/kqemu.c
gcc-3.4 -march=i386 -Wall -O2 -g -fno-strict-aliasing -fno-reorder-blocks -fno-gcse
-fno-optimize-sibling-calls -fno-crossjumping -fno-align-labels -fno-align-jumps
-fno-align-functions -mpreferred-stack-boundary=2 -fomit-frame-pointer -m32 -I. -I..
-I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new -MMD -MP -DNEED_CPU_H
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
-I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu -DHAS_AUDIO -DHAS_AUDIO_CHOICE
-I/tracks/src/src/qemu.new/slirp -c -o op.o /tracks/src/src/qemu.new/target-i386/op.c
/tracks/src/src/qemu.new/target-i386/ops_sse.h: In function `op_pshufw_mmx':
/tracks/src/src/qemu.new/target-i386/ops_sse.h:597: error: unable to find a register to spill in
class `GENERAL_REGS'
/tracks/src/src/qemu.new/target-i386/ops_sse.h:597: error: this is the insn:
(insn:HI 18 17 19 0 /tracks/src/src/qemu.new/target-i386/ops_sse.h:592 (set (strict_low_part
(subreg:HI (reg/v:DI 58 [ r ]) 0))
(mem/s/j:HI (plus:SI (mult:SI (reg:SI 62)
(const_int 2 [0x2]))
(reg/v/f:SI 60 [ s ])) [0 <variable>._w S2 A16])) 54 {*movstricthi_1} (insn_list 16
(insn_list 12 (insn_list 50 (nil))))
(expr_list:REG_DEAD (reg:SI 62)
(nil)))
/tracks/src/src/qemu.new/target-i386/ops_sse.h:597: confused by earlier errors, bailing out
make[1]: *** [op.o] Error 1
make[1]: Leaving directory `/tracks/src/src/qemu.new/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2
brad@bklaptop2:/tracks/src/src/qemu.new$ cat build
#!/bin/bash
make clean
CFLAGS=-march=i386 ./configure --target-list=i386-softmmu --enable-alsa
make
brad@bklaptop2:/tracks/src/src/qemu.new$ cat Makefile.target | grep march
OP_CFLAGS := -march=i386 -Wall -O2 -g -fno-strict-aliasing
How is _anybody_ compiling this source?
Someone please give me a clue here...
Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-30 7:08 ` Brad Campbell
@ 2008-04-30 9:32 ` Thiemo Seufer
2008-04-30 11:15 ` Ben Taylor
2008-04-30 18:47 ` Brad Campbell
0 siblings, 2 replies; 7+ messages in thread
From: Thiemo Seufer @ 2008-04-30 9:32 UTC (permalink / raw)
To: Brad Campbell; +Cc: qemu-devel
Brad Campbell wrote:
> Thiemo Seufer wrote:
>
>>> gcc-3.4 -fomit-frame-pointer -I. -I..
>>> -I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new
>>> -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
>>> -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
>>> -I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu
>>> -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/tracks/src/src/qemu.new/slirp
>>> -march=pentium-mmx -Wall -O2 -g -fno-strict-aliasing -m32 -c -o
>>> helper.o
>> ^^^^^^^^^^^^^^^^^^
>>
>> Too much optimization. IIRC a known problem, -march needs to be a pre-MMX
>> cpu.
>
> So I'd believed.. however, I've tried -march=[i386,i486,i586,i686,pentium,pentium-mmx] ...
Ok, then I don't know why it fails in your environment.
[snip]
> How is _anybody_ compiling this source?
> Someone please give me a clue here...
I use plain Debian stable.
Thiemo
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-30 9:32 ` Thiemo Seufer
@ 2008-04-30 11:15 ` Ben Taylor
2008-04-30 12:34 ` WaxDragon
2008-04-30 18:47 ` Brad Campbell
1 sibling, 1 reply; 7+ messages in thread
From: Ben Taylor @ 2008-04-30 11:15 UTC (permalink / raw)
To: qemu-devel
On Wed, Apr 30, 2008 at 5:32 AM, Thiemo Seufer <ths@networkno.de> wrote:
> Brad Campbell wrote:
> > Thiemo Seufer wrote:
> >
> >>> gcc-3.4 -fomit-frame-pointer -I. -I..
> >>> -I/tracks/src/src/qemu.new/target-i386 -I/tracks/src/src/qemu.new
> >>> -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
> >>> -D_LARGEFILE_SOURCE -I/tracks/src/src/qemu.new/tcg
> >>> -I/tracks/src/src/qemu.new/tcg/i386 -I/tracks/src/src/qemu.new/fpu
> >>> -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/tracks/src/src/qemu.new/slirp
> >>> -march=pentium-mmx -Wall -O2 -g -fno-strict-aliasing -m32 -c -o
> >>> helper.o
> >> ^^^^^^^^^^^^^^^^^^
> >>
> >> Too much optimization. IIRC a known problem, -march needs to be a pre-MMX
> >> cpu.
> >
> > So I'd believed.. however, I've tried -march=[i386,i486,i586,i686,pentium,pentium-mmx] ...
>
> Ok, then I don't know why it fails in your environment.
>
> [snip]
>
> > How is _anybody_ compiling this source?
> > Someone please give me a clue here...
>
> I use plain Debian stable.
Just to note, I'm seeing this on Solaris x86 with gcc-3.4.3 on 32-bit
systems as well.
I'm in the process of building gcc-3.4.6 but that will be a few more days before
it's ready.
Ben
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-30 11:15 ` Ben Taylor
@ 2008-04-30 12:34 ` WaxDragon
0 siblings, 0 replies; 7+ messages in thread
From: WaxDragon @ 2008-04-30 12:34 UTC (permalink / raw)
To: qemu-devel
>
> I'm in the process of building gcc-3.4.6 but that will be a few more days before
> it's ready.
>
> Ben
I'm using the gcc 3.4.6 shipped with Slackware 11.0, and I am still
having issues. I've tried the patches cited (and hand merging them),
and I've tried changing march. Nothing yet allows me to build
revisions above 4179.
WD
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] Which compiler to use to compile current SVN
2008-04-30 9:32 ` Thiemo Seufer
2008-04-30 11:15 ` Ben Taylor
@ 2008-04-30 18:47 ` Brad Campbell
1 sibling, 0 replies; 7+ messages in thread
From: Brad Campbell @ 2008-04-30 18:47 UTC (permalink / raw)
To: qemu-devel
Thiemo Seufer wrote:
> [snip]
>> How is _anybody_ compiling this source?
>> Someone please give me a clue here...
>
> I use plain Debian stable.
Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes! Yes!
brad@srv:~$ gcc-3.3 --version
gcc-3.3 (GCC) 3.3.6 (Debian 1:3.3.6-15)
Thanks! 3.3.6 works with an unmodified SVN! I at least now have a way of compiling it up for testing!
<whew>
Brad
--
"Human beings, who are almost unique in having the ability
to learn from the experience of others, are also remarkable
for their apparent disinclination to do so." -- Douglas Adams
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-04-30 18:48 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-28 13:08 [Qemu-devel] Which compiler to use to compile current SVN Brad Campbell
2008-04-28 19:49 ` Thiemo Seufer
2008-04-30 7:08 ` Brad Campbell
2008-04-30 9:32 ` Thiemo Seufer
2008-04-30 11:15 ` Ben Taylor
2008-04-30 12:34 ` WaxDragon
2008-04-30 18:47 ` Brad Campbell
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).