From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1It3hJ-0002z7-ON for qemu-devel@nongnu.org; Fri, 16 Nov 2007 11:05:37 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1It3hI-0002yE-2y for qemu-devel@nongnu.org; Fri, 16 Nov 2007 11:05:37 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1It3hH-0002y7-Sr for qemu-devel@nongnu.org; Fri, 16 Nov 2007 11:05:35 -0500 Received: from honiara.magic.fr ([195.154.193.36]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1It3hH-0000vo-7d for qemu-devel@nongnu.org; Fri, 16 Nov 2007 11:05:35 -0500 Subject: Re: [Qemu-devel] RFC: fix for random Qemu crashes From: Jocelyn Mayer In-Reply-To: <200711161552.55645.paul@codesourcery.com> References: <1195168693.2415.19.camel@rapid> <200711161552.55645.paul@codesourcery.com> Content-Type: text/plain Date: Fri, 16 Nov 2007 17:05:32 +0100 Message-Id: <1195229132.28318.10.camel@jma4.dev.netgem.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: l_indien@magic.fr, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paul Brook On Fri, 2007-11-16 at 15:52 +0000, Paul Brook wrote: > > Then, I choosed to replace 'inline' by 'always_inline', which is more > > invasive but have less risks of side effects. The diff is attached in > > always_inline.diff. > > The last thing that helps solve the problem is to change the inlining > > limits of gcc, at least to compile the op.o file. > > Presumably we only need one of the last two patches? It seems rather pointless > to have always_inline *and* change the inlining heuristics. >>From the tests I made, it seems that adding always_inline helps but unfortunatelly does not solve all cases. Should check in the gcc source code why it is so... > I'm ok with using always_inline for op.o (and things it uses directly) as this > is required for correctness. I'm not convinced that that using always_inline > everywhere is such a good idea. That's exactly what I did: I changed 'inline' to 'always_inline' in headers that are included by op.c, I did not made any change in other headers. If some of the functions I changed should not be changed, that means that there is another bug, ie those functions should not be used by op.c in any way then should be moved to other headers, or maybe some of those headers should not be included directly or indirectly in op.c... If you see such cases, then we may better fix those issues first... -- Jocelyn Mayer