From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1Cg1ib-0005Wi-SN for qemu-devel@nongnu.org; Sun, 19 Dec 2004 09:07:30 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1Cg1iZ-0005VX-V7 for qemu-devel@nongnu.org; Sun, 19 Dec 2004 09:07:28 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1Cg1iZ-0005VN-RI for qemu-devel@nongnu.org; Sun, 19 Dec 2004 09:07:27 -0500 Received: from [216.99.193.136] (helo=jade.spiritone.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1Cg1Xm-00021B-RC for qemu-devel@nongnu.org; Sun, 19 Dec 2004 08:56:19 -0500 Message-ID: <41C58841.4060008@BitWagon.com> Date: Sun, 19 Dec 2004 05:55:13 -0800 From: John Reiser MIME-Version: 1.0 Subject: Re: [Qemu-devel] qemu on Fedora Core 3 (Linux 2.6.9+), glibc-2.3.3 References: <41C50D64.7070209@BitWagon.com> <41e41e7a04121902033c7a42ee@mail.gmail.com> In-Reply-To: <41e41e7a04121902033c7a42ee@mail.gmail.com> Content-Type: multipart/mixed; boundary="------------070506040306000703060309" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hetz Ben Hamo , qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------070506040306000703060309 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit > Could you please re-send your patch, diffed, as an attachment please? The important part of the original post was output from "diff -Naur". Does gmail mangle message bodies, or was the request due to the other small manual adjustments (non-patch) noted in the original post? Anyway, a 100% patch is attached for use by "patch -p1". -- --------------070506040306000703060309 Content-Type: text/plain; name="SA_RESTORER.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="SA_RESTORER.patch" --- ./vl.c.orig 2004-12-12 14:20:04.000000000 -0800 +++ ./vl.c 2004-12-19 05:49:53.323570312 -0800 @@ -882,6 +882,9 @@ #endif /* !defined(_WIN32) */ +extern void __restore(void); +extern void __restore_rt(void); + static void init_timers(void) { rt_clock = qemu_new_clock(QEMU_TIMER_REALTIME); @@ -913,7 +916,9 @@ sigfillset(&act.sa_mask); act.sa_flags = 0; #if defined (TARGET_I386) && defined(USE_CODE_COPY) - act.sa_flags |= SA_ONSTACK; +#define SA_RESTORER 0x04000000 + act.sa_flags |= SA_ONSTACK | SA_RESTORER; + act.sa_restorer = __restore; #endif act.sa_handler = host_alarm_handler; sigaction(SIGALRM, &act, NULL); @@ -3402,7 +3407,8 @@ sigfillset(&act.sa_mask); act.sa_flags = SA_SIGINFO; #if defined (TARGET_I386) && defined(USE_CODE_COPY) - act.sa_flags |= SA_ONSTACK; + act.sa_flags |= SA_ONSTACK | SA_RESTORER; + act.sa_restorer = __restore_rt; #endif act.sa_sigaction = host_segv_handler; sigaction(SIGSEGV, &act, NULL); @@ -3449,6 +3455,7 @@ exit(1); } else { printf("Waiting gdb connection on port %d\n", gdbstub_port); +sleep(5); } } else #endif --- ./Makefile.target.orig 2004-12-12 08:56:30.000000000 -0800 +++ ./Makefile.target 2004-12-19 05:48:08.201551288 -0800 @@ -264,7 +264,7 @@ endif # must use static linking to avoid leaving stuff in virtual address space -VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o +VL_OBJS=vl.o osdep.o block.o readline.o monitor.o pci.o console.o __restore.o VL_OBJS+=block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o SOUND_HW = sb16.o --- ./__restore.S.orig 2004-12-19 05:44:53.832099936 -0800 +++ ./__restore.S 2004-12-18 20:34:14.000000000 -0800 @@ -0,0 +1,10 @@ +#include + +__restore: .globl __restore + pop %eax + movl $ __NR_sigreturn,%eax + int $0x80 + +__restore_rt: .globl __restore_rt + movl $ __NR_rt_sigreturn,%eax + int $0x80 --------------070506040306000703060309--