From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CfNHB-0007hO-Sl for qemu-devel@nongnu.org; Fri, 17 Dec 2004 13:56:29 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CfNHB-0007h4-8h for qemu-devel@nongnu.org; Fri, 17 Dec 2004 13:56:29 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CfNHB-0007gu-5p for qemu-devel@nongnu.org; Fri, 17 Dec 2004 13:56:29 -0500 Received: from [212.63.36.242] (helo=gwyn.kn-bremen.de) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1CfN6h-00064z-JF for qemu-devel@nongnu.org; Fri, 17 Dec 2004 13:45:40 -0500 From: Juergen Lock Date: Fri, 17 Dec 2004 19:56:27 +0100 Subject: Re: [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host Message-ID: <20041217195627.A38776@saturn.kn-bremen.de> References: <20041215134754.GA28410@100tka.net> <20041215145903.GA29957@100tka.net> <20041215234503.GA12778@jbrown.mylinuxbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Johannes Schindelin Cc: qemu-devel@nongnu.org On Thu, Dec 16, 2004 at 01:37:53AM +0000, Johannes Schindelin wrote: > Hi, > > On Wed, 15 Dec 2004, Jim C. Brown wrote: > > > This is due to a change in the way gcc compiles code ... 3.4.0 may work, > > but later versions will cause functions to return prematurely (due to the way > > qemu handles translated blocks). I suggested that a fix for this would be to > > use function pointer calls instead of directly chaining machine code, but > > apparently this is too slow to make qemu usable. > > The Forth way ;-) >... How about instead post-processing the .s, replacing the rets with jumps to the end of the function? Of course this part would be architecture dependant (different assembler syntax), but other parts of qemu are that as well, right? Just a thought... Juergen