qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host


From: Fabrice Bellard
Subject: Re: [Qemu-devel] get_func() hangs with gcc 3.4.2 on MinGW and WinXP host
Date: Sun, 19 Dec 2004 23:13:32 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913

Juergen Lock wrote:
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?

I don't exclude the possibility of using a hand coded code generator. It should be possible to do the transition progressively. The first candidates could be the code to handle memory access, constant stores and helper calls.

Fabrice.





reply via email to

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