[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Patch for compiling with GCC 4

From: Christian Roue
Subject: Re: [Qemu-devel] Patch for compiling with GCC 4
Date: Sun, 17 Feb 2008 21:22:32 +0100

Well, I somehow felt like it was a bit brutal and probably fixing the
symptoms which is apparently the case.
Looking more carefully, compile fails in :
sh4-linux-user for function op_cmp_str_T0_T1
gcc optimization leads to a ret followed by a last assignement with a jump back.
I guess dyngen hopes to find function epilogue as the last bytes.
It's apparently the only function where it happens.

I found that adding gcc option "-fno-tree-dominator-opts" for sh4
target avoids this (I suppose) unwanted optimization.
It may be a bit brutal again ( disabling too many optims or wrong ones).
May be the op_cmp_str_T0_T1 function can be rewritten to something
that avoids this optimization.
Am I on a better track ?


On Feb 16, 2008 9:01 PM, Paul Brook <address@hidden> wrote:
> On Saturday 16 February 2008, Christian Roue wrote:
> > Hi all,
> > I tried to compile qemu cvs head on my x86_64 linux with gcc 4.1.2 using
> > --disable-gcc-check, I found compile fails as stated in configure before i
> > disabled gcc check..
> > Error message, points to a problem of dyngen not correctly detecting
> > function ends on i386 when last instruction is a jump. I applied following
> > change and successfully compiled/run qemu i386.  This extra test check for
> > a relative backward jump  to function exit ret,
> > gcc 4 apparently generates a few of these.
> You patch is wrong. The dyngen error is correct.
> Paul

reply via email to

[Prev in Thread] Current Thread [Next in Thread]