On 23 February 2010 17:03, Aurelien Jarno <aurel...@aurel32.net> wrote: > Jay Foad a écrit : >> I'm building QEMU mipsel-linux-user with Ubuntu's GCC 4.4 on an x86 >> host. Whenever I try to run a trivial MIPS executable, QEMU segfaults >> in cpu_loop() shortly after the call to cpu_mips_exec(). >> >> The problem seems to be that cpu_exec() doesn't preserve ebp. It tries to: >> >> saved_env_reg = (host_reg_t) env; >> >> where env is a global variable decorated with asm("ebp"). This saves >> ebp to the stack, but later on, in some function inlined into >> cpu_exec(), the value on the stack gets overwritten with something >> else. >> >> Has anyone else seen this? >> > > Yes, but only in qemu 0.12.0 to 0.12.1. The issue should be fixed in the > stable branch and in head.
I'm seeing it today, with sources from git: git://git.qemu.org/qemu.git commit 724c689357211cb929c9b957e1556f211d2b56db Thanks, Jay.