[PATCH 3/4] UML - Dump core on panic

From: Jeff Dike
Date: Wed Apr 11 2007 - 12:06:59 EST


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

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxxxxxx>
--
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/