Dump core after a panic.  This will provide better debugging
information than is currently available.

Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>
--
 arch/um/include/os.h     |    1 +
 arch/um/kernel/um_arch.c |    2 +-
 arch/um/os-Linux/util.c  |    6 ++++++
 3 files changed, 8 insertions(+), 1 deletion(-)

Index: linux-2.6.21-mm/arch/um/include/os.h
===================================================================
--- linux-2.6.21-mm.orig/arch/um/include/os.h   2007-04-06 10:36:33.000000000 
-0400
+++ linux-2.6.21-mm/arch/um/include/os.h        2007-04-06 10:38:54.000000000 
-0400
@@ -281,6 +281,7 @@ extern void setup_machinename(char *mach
 extern void setup_hostinfo(char *buf, int len);
 extern int setjmp_wrapper(void (*proc)(void *, void *), ...);
 extern void os_log_info(char *fmt, va_list ap);
+extern void os_dump_core(void);
 
 /* time.c */
 #define BILLION (1000 * 1000 * 1000)
Index: linux-2.6.21-mm/arch/um/kernel/um_arch.c
===================================================================
--- linux-2.6.21-mm.orig/arch/um/kernel/um_arch.c       2007-04-06 
10:37:48.000000000 -0400
+++ linux-2.6.21-mm/arch/um/kernel/um_arch.c    2007-04-06 10:38:05.000000000 
-0400
@@ -474,7 +474,7 @@ static int panic_exit(struct notifier_bl
        show_regs(&(current->thread.regs));
        bust_spinlocks(0);
        uml_exitcode = 1;
-       machine_halt();
+       os_dump_core();
        return 0;
 }
 
Index: linux-2.6.21-mm/arch/um/os-Linux/util.c
===================================================================
--- linux-2.6.21-mm.orig/arch/um/os-Linux/util.c        2007-04-05 
13:25:28.000000000 -0400
+++ linux-2.6.21-mm/arch/um/os-Linux/util.c     2007-04-06 10:57:55.000000000 
-0400
@@ -148,3 +148,9 @@ void os_log_info(char *fmt, va_list ap)
        vsnprintf(&logging_buf[len], sizeof(logging_buf) - len, fmt, ap);
        write(logging_fd, logging_buf, strlen(logging_buf));
 }
+
+void os_dump_core(void)
+{
+       signal(SIGSEGV, SIG_DFL);
+       abort();
+}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to