Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-16 Thread C.W. Betts
On Saturday 15 March 2008 09:13:02 am Peter Volkov wrote:
 В Сбт, 15/03/2008 в 14:20 +, Paul Brook пишет:
  On Saturday 15 March 2008, Peter Volkov wrote:
   Hello.
  
   I just wanted to point developers attention to the following bug:
   bugs.gentoo.org/212351 , comment #11 and further. The problem is that
   qemu does not compile any more on x86. I've tried recent snapshot
   (2008-03-15_05) and the problem persist there.
 
  You're almost certainly using gcc4.x. Don't do that.

 Paul, thank you for you answer. I do have gcc-4 installed on my system

 but I'm sure that I'm using gcc-3.4:
  gcc --version

Try setting the compiler flags to use -march=pentium-mmx . That is the max 
setting for -march that qemu compiles on.  also, make sure that the compiler 
isn't sending any of the -msse functions.

I tried to build qemu using -msse -march=pentium3 and it spat out the same 
thing.

 gcc (GCC) 3.4.6 (Gentoo 3.4.6-r2 p1.5, ssp-3.4.6-1.0, pie-8.7.10)

 As I read FAQ this version should be supported. I've tried to build gcc
 without patches (ssp, pie, C++ support and some gentoo specific patches)
 but qemu build process still fails at the same place...

  IIRC gentoo already has a big pile hacks for this. This kind of
  breakage is exactly why those hacks haven't been merged into cvs.
  They're papering over the problem rather than fixing it, so you should
  expect them to need constant maintenance.

 Sorry, but what hacks are you talking about? The only hack I'm aware
 about is that all system is build with newer compiler while to build
 qemu I have to install old gcc.

  As mentioned several times on this recently on this list, the proper
  fix is to finish the TCG conversion. That will happen when it's done.

 Eh, I saw you talking about this and I'm aware that this will definitely
 take time. That's why I asked for suggestion...


signature.asc
Description: This is a digitally signed message part.


Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-16 Thread Peter Volkov
В Вск, 16/03/2008 в 00:01 -0600, C.W. Betts пишет:
 Try setting the compiler flags to use -march=pentium-mmx . That is the max 
 setting for -march that qemu compiles on.  also, make sure that the compiler 
 isn't sending any of the -msse functions.
 
 I tried to build qemu using -msse -march=pentium3 and it spat out the same 
 thing.

Well with -march=pentium-mmx it works, although it occurs that
$ export CFLAGS=-march=pentium-mmx
is not enough. I have to path CFLAGS to make with
$ emake OS_CFLAGS=${CFLAGS}
CFLAGS are prefixed at the beginning of the compilation command ands
seems that -g -O2 which will go later redefine something which in turn
cause the build to fail and OS_CFLAGS passes -march after -g -O2.

Also strange thing is that if I try to disable all sse thing in compiler
appending -mno-sse{,2,3} -mfpmath=387 qemu does not builds. Either I
miss something or sse is not the only problem.

Two patches suggested here by Alexander and Blue did no difference here.

But in any case we have at least one working solution here and it's
better than nothing. Your suggestions here were very helpful! Thank you
all!

-- 
Peter.


signature.asc
Description: Эта	 часть	 сообщения	 подписана	 цифровой	 подписью


Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-16 Thread Blue Swirl
On 3/16/08, Peter Volkov [EMAIL PROTECTED] wrote:
 В Вск, 16/03/2008 в 00:01 -0600, C.W. Betts пишет:

  Try setting the compiler flags to use -march=pentium-mmx . That is the max
   setting for -march that qemu compiles on.  also, make sure that the 
 compiler
   isn't sending any of the -msse functions.
  
   I tried to build qemu using -msse -march=pentium3 and it spat out the same
   thing.


 Well with -march=pentium-mmx it works, although it occurs that
  $ export CFLAGS=-march=pentium-mmx
  is not enough. I have to path CFLAGS to make with
  $ emake OS_CFLAGS=${CFLAGS}
  CFLAGS are prefixed at the beginning of the compilation command ands
  seems that -g -O2 which will go later redefine something which in turn
  cause the build to fail and OS_CFLAGS passes -march after -g -O2.

  Also strange thing is that if I try to disable all sse thing in compiler
  appending -mno-sse{,2,3} -mfpmath=387 qemu does not builds. Either I
  miss something or sse is not the only problem.

  Two patches suggested here by Alexander and Blue did no difference here.

Please try this patch and if it fails, report also the compiler error message.

I'm trying to find the range of instructions that need to be converted
to TCG helpers.


sse_test.diff
Description: plain/text


Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-15 Thread Peter Volkov

В Сбт, 15/03/2008 в 14:20 +, Paul Brook пишет:
 On Saturday 15 March 2008, Peter Volkov wrote:
  Hello.
 
  I just wanted to point developers attention to the following bug:
  bugs.gentoo.org/212351 , comment #11 and further. The problem is that
  qemu does not compile any more on x86. I've tried recent snapshot
  (2008-03-15_05) and the problem persist there.
 
 You're almost certainly using gcc4.x. Don't do that.

Paul, thank you for you answer. I do have gcc-4 installed on my system
but I'm sure that I'm using gcc-3.4:

 gcc --version
gcc (GCC) 3.4.6 (Gentoo 3.4.6-r2 p1.5, ssp-3.4.6-1.0, pie-8.7.10)

As I read FAQ this version should be supported. I've tried to build gcc
without patches (ssp, pie, C++ support and some gentoo specific patches)
but qemu build process still fails at the same place...

 IIRC gentoo already has a big pile hacks for this. This kind of breakage is 
 exactly why those hacks haven't been merged into cvs. They're papering over 
 the problem rather than fixing it, so you should expect them to need constant 
 maintenance.

Sorry, but what hacks are you talking about? The only hack I'm aware
about is that all system is build with newer compiler while to build
qemu I have to install old gcc.

 As mentioned several times on this recently on this list, the proper fix is 
 to 
 finish the TCG conversion. That will happen when it's done.

Eh, I saw you talking about this and I'm aware that this will definitely
take time. That's why I asked for suggestion...

-- 
Peter.


signature.asc
Description: Эта	 часть	 сообщения	 подписана	 цифровой	 подписью


Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-15 Thread Stefan Weil

Paul Brook schrieb:

On Saturday 15 March 2008, Peter Volkov wrote:

Hello.

I just wanted to point developers attention to the following bug:
bugs.gentoo.org/212351 , comment #11 and further. The problem is that
qemu does not compile any more on x86. I've tried recent snapshot
(2008-03-15_05) and the problem persist there.


You're almost certainly using gcc4.x. Don't do that.

IIRC gentoo already has a big pile hacks for this. This kind of 
breakage is
exactly why those hacks haven't been merged into cvs. They're papering 
over
the problem rather than fixing it, so you should expect them to need 
constant

maintenance.

As mentioned several times on this recently on this list, the proper 
fix is to

finish the TCG conversion. That will happen when it's done.

Paul

Hi Paul,

I got two similar error messages from other users. Both were using gcc-3.4,
one of them from ubuntu 7.10 (32bit). My own system had no problems
compiling exactly the same version with Debian lenny (amd64) gcc-3.4.

Stefan





Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-15 Thread Alexander Graf
Peter Volkov wrote:
 В Сбт, 15/03/2008 в 14:20 +, Paul Brook пишет:
   
 On Saturday 15 March 2008, Peter Volkov wrote:
 
 Hello.

 I just wanted to point developers attention to the following bug:
 bugs.gentoo.org/212351 , comment #11 and further. The problem is that
 qemu does not compile any more on x86. I've tried recent snapshot
 (2008-03-15_05) and the problem persist there.
   
 You're almost certainly using gcc4.x. Don't do that.
 

 Paul, thank you for you answer. I do have gcc-4 installed on my system
 but I'm sure that I'm using gcc-3.4:

   
 gcc --version
 
 gcc (GCC) 3.4.6 (Gentoo 3.4.6-r2 p1.5, ssp-3.4.6-1.0, pie-8.7.10)

 As I read FAQ this version should be supported. I've tried to build gcc
 without patches (ssp, pie, C++ support and some gentoo specific patches)
 but qemu build process still fails at the same place...

   
 IIRC gentoo already has a big pile hacks for this. This kind of breakage is 
 exactly why those hacks haven't been merged into cvs. They're papering over 
 the problem rather than fixing it, so you should expect them to need 
 constant 
 maintenance.
 

 Sorry, but what hacks are you talking about? The only hack I'm aware
 about is that all system is build with newer compiler while to build
 qemu I have to install old gcc.

   
 As mentioned several times on this recently on this list, the proper fix is 
 to 
 finish the TCG conversion. That will happen when it's done.
 

 Eh, I saw you talking about this and I'm aware that this will definitely
 take time. That's why I asked for suggestion...

   


For the time being you could try the appended patch. It makes x86 on x86
slower though, but should enable you to have a working build at all. I
am not 100% sure if it actually does help in your case though.

Alex


--- a/target-i386/op.c
+++ b/target-i386/op.c
@@ -18,7 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
-#define ASM_SOFTMMU
+//#define ASM_SOFTMMU
 #include exec.h
 
 /* n must be a constant to be efficient */


Re: [Qemu-devel] build failure on x86, any suggestions?

2008-03-15 Thread Blue Swirl
On 3/15/08, Peter Volkov [EMAIL PROTECTED] wrote:
 Hello.

  I just wanted to point developers attention to the following bug:
  bugs.gentoo.org/212351 , comment #11 and further. The problem is that
  qemu does not compile any more on x86. I've tried recent snapshot
  (2008-03-15_05) and the problem persist there.

  The problem gentoo is that previous versions are known to be affected to
  security vulnerability so we'll have to mask it soon, while version
  which does not build successfully will be masked too as there is no
  reason to keep broken package in stable. Could anybody of developers
  suggest anything on this issue? Thank you very much in advance!


  The actual build error:

  gcc -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/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/target-i386
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05 -MMD -MP -DNEED_CPU_H
  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/tcg
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/tcg/i386
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/fpu
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/linux-user
  -I/home/pva/work/qemu/qemu-snapshot-2008-03-15_05/linux-user/i386 -c -o
  op.o /home/pva/work/qemu/qemu-snapshot-2008-03-15_05/target-i386/op.c
  /home/pva/work/qemu/qemu-snapshot-2008-03-15_05/target-i386/ops_sse.h:
  In function `op_psrlq_mmx':

I can't replicate this bug, but does this patch (NB: not  a real fix)
make the compile successful or does it fail later somewhere else?


sse_test.diff
Description: plain/text