|
From: | Stefan Weil |
Subject: | Re: [Qemu-devel] 64-on-32 TCG broken |
Date: | Wed, 31 Oct 2012 18:05:57 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:16.0) Gecko/20121011 Thunderbird/16.0.1 |
Am 31.10.2012 00:56, schrieb Aurelien Jarno:
On Tue, Oct 30, 2012 at 11:24:34PM +0100, Stefan Weil wrote:Am 30.10.2012 09:15, schrieb Paolo Bonzini:Il 29/10/2012 19:29, Aurelien Jarno ha scritto:On Mon, Oct 29, 2012 at 06:53:14PM +0100, Paolo Bonzini wrote:Known-good commit: 8473f377393219390ea6f2d8d450a2b054bb823e Known-bad commit: d262cb02861dd33375c08fc798930653b14769e9 i386-softmmu seems to work. I may try to bisect it tomorrow, but I'd be glad if somebody else beats me. It can be reproduced with Wine and "x86_64-softmmu/qemu-system-x86_64.exe -L ../pc-bios"; it hangs at iPXE.Oops, sorry about that. Is it win32 or win64? I'll try to fix it asap, but right now I don't have a good network connection enough to either setup a mingw build environment or to connect to a remote machine with such an environment.It's win32, and the first bad commit is 9c43b68 (tcg: rework liveness analysis, 2012-10-09). But it looks like 64-on-32 emulation is more generally broken. I now tried x86_64-linux-user compiled for 32-bit, and it segfaults on startup. Even the previous commit cannot run qemu-x86_64 /bin/ls correctly:I just tested with latest qemu-system-x86_64 on 32 bit Linux. It also hangs during boot (BIOS), so it looks like this is not a MinGW only problem. Your test with x86_64-linux-user indicates that, too. I also get the problem with TCI. Therefore I expect that any 32 bit TCG target will show it.It ended up to be a merge issue. The newly added special cases for half-dead operations also need to be changed with the liveness analysis rework. The attached patch fixes the issue on a 32-bit linux host. I haven't tried win32 yet, maybe someone will beat me.
Tested-by: Stefan Weil <address@hidden> Your attached patch fixes the problem seen with qemu-system-x86_64 on 32 bit Linux and with 32 bit Windows. I think you can commit it to git master. Merci, Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |