Am 17.05.2012 15:42, schrieb Peter Maydell: > On 17 May 2012 14:33, Andreas Färber <afaer...@suse.de> wrote: >> Am 17.05.2012 11:23, schrieb Alex Barcelo: >>> Running it in a i386 machine works and gives an output of "0x0d\n0x20". >>> Running it in a qemu-i386 segfaults. Because the self-modifying code >>> raises a SIGSEGV in the qemu (I understand that it is the method used by >>> qemu to handle self-modifying code). But the sigprocmask disables the >>> SIGSEGV and the qemu-user... does nothing to avoid it. So the SIGSEGV is >>> unmanaged and breaks the program. >> >> Alex has the following SIGSEGV workaround queued for our openSUSE package: >> http://repo.or.cz/w/qemu/agraf.git/commit/0760e24b52ff20a328f168ed23b52c9b9c0fd28f >> >> Don't know if it fixes your specific problem. > > No, that's a different issue, see the analysis here: > http://lists.gnu.org/archive/html/qemu-devel/2012-02/msg02868.html > In that case an internal-to-QEMU allocation fails (because the guest > imposes a severe rlimit), we don't handle it very well and die > horribly. The commit you link to above is a sticking plaster on > the problem and definitely not OK for master.
Note the term "workaround". :-) /-F -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg