qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] qemu on Fedora Core 3 (Linux 2.6.9+), glibc-2.3.3


From: John Reiser
Subject: [Qemu-devel] qemu on Fedora Core 3 (Linux 2.6.9+), glibc-2.3.3
Date: Sat, 18 Dec 2004 21:11:00 -0800
User-agent: Mozilla Thunderbird 0.8 (X11/20040913)

In order to run qemu-snapshot-2004-12-17_23.tar.bz2 on:
   Fedora Core 3  kernel-2.6.8-1.681_FC3  i686
   gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)
   glibc-2.3.3
   binutils-2.15.92.0.2-5
I had to use the extra file and patch below.
Otherwise I got very early SIGSEGVs.

-----__restore.S  [append __restore.o to VL_OBJS in i386/Makefile]
#include <asm/unistd.h>

__restore: .globl __restore
        pop %eax
        movl $ __NR_sigreturn,%eax
        int $0x80

__restore_rt: .globl __restore_rt
        movl $ __NR_rt_sigreturn,%eax
        int $0x80
-----


--- vl.c.orig   2004-12-12 14:20:04.000000000 -0800
+++ vl.c        2004-12-18 20:53:09.496799856 -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);

--





reply via email to

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