Re: [Qemu-devel] build failure on x86, any suggestions?
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?
В Вск, 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?
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?
В Сбт, 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?
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?
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?
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