lkml.org 
[lkml]   [2007]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/4] UML - Dump core on panic
    Dump core after a panic.  This will provide better debugging
    information than is currently available.

    Signed-off-by: Jeff Dike <jdike@linux.intel.com>
    --
    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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-04-11 18:09    [W:0.020 / U:0.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site