qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).