Dave Anderson wrote: > So, whereas the vmlinux file shows these symbol values: > > $ nm -Bn vmlinux > ... > c1000000 T _text > c1000000 T startup_32 > c1001000 T startup_32_smp > c1001080 t checkCPUtype > c1001101 t is486 > c1001108 t is386 > c1001175 t check_x87 > c10011a0 T setup_pda > c10011c2 t setup_idt > c10011df t rp_sidt > c1001262 t early_divide_err > c1001268 t early_illegal_opcode > c1001271 t early_protection_fault > c1001278 t early_page_fault > c100127f t early_fault > c10012a7 t hlt_loop > c10012ac t ignore_int > c10012f0 T _stext > c10012f0 t run_init_process > c10012f0 T stext > c1001304 t init_post > ... > > But when loaded into memory, they are all changed to reflect that > the kernel was loaded at at 4MB physical instead of 16MB: > > $ cat /proc/kallsyms > c0400000 T _text > c0400000 T startup_32 > c0401000 T startup_32_smp > c0401080 t checkCPUtype > c0401101 t is486 > c0401108 t is386 > c0401175 t check_x87 Interesting -- I never thought /proc/kallsyms would have ever come in so handy... crash fails on my FC7 kernel in the "do not match" manner: # crash /vmlinux-2.6.21-1.3194.fc7 crash 4.0-4.3 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc. Copyright (C) 2004, 2005, 2006 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. Copyright (C) 2005 NEC Corporation Copyright (C) 1999, 2002 Silicon Graphics, Inc. Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. This program is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Enter "help copying" to see the conditions. This program has absolutely no warranty. Enter "help warranty" for details. GNU gdb 6.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... crash: /vmlinux-2.6.21-1.3194.fc7 and /dev/crash do not match! Usage: crash [-h [opt]][-v][-s][-i file][-d num] [-S] [mapfile] [namelist] [dumpfile] Enter "crash -h" for details. # But since /proc/kallsyms has a format similar to a System.map file, if you throw it on the crash command line, crash thinks that it is a System.map, and things just work: # crash /vmlinux-2.6.21-1.3194.fc7 /proc/kallsyms crash 4.0-4.3 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc. Copyright (C) 2004, 2005, 2006 IBM Corporation Copyright (C) 1999-2006 Hewlett-Packard Co Copyright (C) 2005, 2006 Fujitsu Limited Copyright (C) 2006, 2007 VA Linux Systems Japan K.K. Copyright (C) 2005 NEC Corporation Copyright (C) 1999, 2002 Silicon Graphics, Inc. Copyright (C) 1999, 2000, 2001, 2002 Mission Critical Linux, Inc. This program is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Enter "help copying" to see the conditions. This program has absolutely no warranty. Enter "help warranty" for details. GNU gdb 6.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... please wait... (patching 28475 gdb minimal_symbol values) SYSTEM MAP: /proc/kallsyms DEBUG KERNEL: /vmlinux-2.6.21-1.3194.fc7 (2.6.21-1.3194.fc7) DUMPFILE: /dev/crash CPUS: 4 DATE: Wed Jul 25 13:47:55 2007 UPTIME: 23:10:09 LOAD AVERAGE: 0.08, 0.03, 0.01 TASKS: 111 NODENAME: ibm-crichton-01.lab.boston.redhat.com RELEASE: 2.6.21-1.3194.fc7 VERSION: #1 SMP Wed May 23 22:35:01 EDT 2007 MACHINE: i686 (2666 Mhz) MEMORY: 1 GB PID: 958 COMMAND: "crash" TASK: c1934d30 [THREAD_INFO: ce64b000] CPU: 3 STATE: TASK_RUNNING (ACTIVE) crash> q Of course if you're running with 2.6.22, you'd then probably bump into the issue reported by Ken'ichi: [Patch] linux-2.6.22 on i386 https://www.redhat.com/archives/crash-utility/2007-July/msg00061.html So applying Ken'ichi's patch, and then using /proc/kallsyms, should get you up and running for now... (presuming you've got CONFIG_KALLSYMS configured) Dave -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility